.migration-overlay[data-v-f434588d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.migration-content[data-v-f434588d]{text-align:center;background:#ffffff1a;padding:2.5rem;border-radius:1rem;box-shadow:0 .5rem 1.5rem #0000004d;max-width:20rem;animation:slideUp-f434588d .3s ease-out}@keyframes slideUp-f434588d{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}.migration-spinner[data-v-f434588d]{width:3rem;height:3rem;margin:0 auto 1.5rem;border:.3rem solid rgba(255,255,255,.2);border-top:.3rem solid #42a5f5;border-radius:50%;animation:spin-f434588d 1s linear infinite}@keyframes spin-f434588d{to{transform:rotate(360deg)}}.migration-content h2[data-v-f434588d]{color:#fff;font-size:1.25rem;margin:0 0 .5rem;font-weight:600}.migration-text[data-v-f434588d]{color:#ffffffb3;font-size:.875rem;margin:0 0 1.5rem}.migration-progress-wrapper[data-v-f434588d]{margin:1.5rem 0}.migration-progress-bar[data-v-f434588d]{height:.375rem;background:#ffffff1a;border-radius:.25rem;overflow:hidden;margin-bottom:.75rem}.migration-progress-fill[data-v-f434588d]{height:100%;background:linear-gradient(90deg,#42a5f5,#1e88e5);transition:width .3s ease;border-radius:.25rem}.migration-stats[data-v-f434588d]{color:#fff9;font-size:.75rem;margin:0}.migration-complete[data-v-f434588d]{color:#4caf50;font-size:.875rem;margin:.75rem 0 0;font-weight:500}.loading-spinner-overlay[data-v-f434588d]{z-index:1000;pointer-events:none;position:absolute;right:.9rem;top:.9rem}.loading-spinner[data-v-f434588d]{width:1.5rem;height:1.5rem}.settings-overlay[data-v-f434588d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-modal[data-v-f434588d]{background:#1e1e1e;border-radius:1rem;width:90%;max-width:400px;max-height:80vh;overflow:hidden;box-shadow:0 .5rem 2rem #0006;animation:modalSlideIn-f434588d .3s ease}@keyframes modalSlideIn-f434588d{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-header[data-v-f434588d]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.settings-header h2[data-v-f434588d]{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.settings-close[data-v-f434588d]{width:2rem;height:2rem;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff9;border-radius:50%;transition:all .2s ease}.settings-close[data-v-f434588d]:hover{background:#ffffff1a;color:#ffffffe6}.settings-content[data-v-f434588d]{padding:1.25rem;overflow-y:auto;max-height:calc(80vh - 60px)}.settings-section h3[data-v-f434588d]{font-size:.875rem;font-weight:600;color:#fff9;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em}.storage-info[data-v-f434588d]{background:#ffffff0d;border-radius:.75rem;padding:1rem}.storage-progress-wrapper[data-v-f434588d]{margin-bottom:1rem}.storage-progress[data-v-f434588d]{height:.5rem;background:#ffffff1a;border-radius:.25rem;overflow:hidden;margin-bottom:.5rem}.storage-progress-fill[data-v-f434588d]{height:100%;background:linear-gradient(90deg,#42a5f5,#1e88e5);border-radius:.25rem;transition:width .3s ease}.storage-stats[data-v-f434588d]{display:flex;justify-content:space-between;font-size:.875rem}.storage-used[data-v-f434588d]{color:#42a5f5;font-weight:600}.storage-total[data-v-f434588d]{color:#ffffff80}.storage-details[data-v-f434588d]{display:flex;flex-direction:column;gap:.5rem}.storage-detail-item[data-v-f434588d]{display:flex;justify-content:space-between;font-size:.875rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.storage-detail-item[data-v-f434588d]:last-child{border-bottom:none}.detail-label[data-v-f434588d]{color:#fff9}.detail-value[data-v-f434588d]{color:#fff;font-weight:500}.progress-slider[data-v-f434588d]{position:relative;width:100%;height:2.75rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;outline:none;cursor:pointer;z-index:2}.progress-slider.hidden[data-v-f434588d]::-webkit-slider-thumb{opacity:0;pointer-events:none}.progress-slider.hidden[data-v-f434588d]::-moz-range-thumb{opacity:0;pointer-events:none}.progress-slider[data-v-f434588d]::-webkit-slider-runnable-track{width:100%;height:.25rem;background:transparent;border-radius:.125rem}.progress-slider[data-v-f434588d]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:.8rem;height:.8rem;background:#42a5f5;border-radius:50%;cursor:pointer;box-shadow:0 .125rem .5rem #42a5f566;transition:all .2s ease;margin-top:-.275rem}.progress-slider[data-v-f434588d]::-webkit-slider-thumb:active{transform:scale(1.3)}.progress-slider[data-v-f434588d]::-moz-range-track{background:transparent;border:none}.progress-slider[data-v-f434588d]::-moz-range-thumb{width:.8rem;height:.8rem;background:#42a5f5;border-radius:50%;cursor:pointer;border:none;box-shadow:0 .125rem .5rem #42a5f566;transition:all .2s ease}.progress-slider[data-v-f434588d]::-moz-range-thumb:active{transform:scale(1.3)}.progress-track[data-v-f434588d]{position:absolute;width:100%;height:.25rem;top:50%;left:0;transform:translateY(-50%);border-radius:.125rem;overflow:hidden;z-index:1;pointer-events:none}.progress-buffered[data-v-f434588d]{height:100%;background:#42a5f559;border-radius:.125rem}.progress-fill[data-v-f434588d]{height:100%;background:#42a5f5;border-radius:.125rem}.loading-icon[data-v-f434588d]{animation:spin-f434588d 1.5s linear infinite;color:#fff}*{margin:0;padding:0;box-sizing:border-box}:root{--vh: 1vh}body{font-family:Segoe UI,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:linear-gradient(180deg,#e3f2fd,#f5f9ff,#d1e9ff);min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);min-height:100dvh;overflow-x:hidden;color:#1e3a5f;width:100%}.app{min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);min-height:100dvh;height:100vh;height:calc(var(--vh, 1vh) * 100);height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}.pages-container{flex:1;position:relative;overflow:hidden}.page{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;visibility:hidden;transform:translate(100%);transition:all .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.page.active{opacity:1;visibility:visible;transform:translate(0)}.page.prev{transform:translate(-100%)}.status-bar{height:2.75rem;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:500;color:#5a7fa6;border-bottom:1px solid rgba(90,127,166,.2);flex-shrink:0}.media-session-indicator{position:absolute;right:1rem;font-size:1rem;opacity:.6}.media-session-indicator.supported{opacity:1}.wake-lock-indicator{position:absolute;right:1rem;font-size:1rem;opacity:.6;transition:all .3s ease}.wake-lock-indicator.supported{opacity:.8}.wake-lock-indicator.active{opacity:1;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.player-main{display:flex;flex-direction:column;width:100%;height:100%;padding:20px;overflow:hidden;gap:0}.page-player{overflow:hidden!important}.page-albums,.page-playlist{overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.page-albums::-webkit-scrollbar,.page-playlist::-webkit-scrollbar{width:8px}.page-albums::-webkit-scrollbar-track,.page-playlist::-webkit-scrollbar-track{background:transparent}.page-albums::-webkit-scrollbar-thumb,.page-playlist::-webkit-scrollbar-thumb{background:transparent;border-radius:4px;transition:all .3s ease}.page-albums::-webkit-scrollbar-thumb:hover,.page-playlist::-webkit-scrollbar-thumb:hover{background:#42a5f599}.page-albums::-webkit-scrollbar-button,.page-playlist::-webkit-scrollbar-button{display:none}.page-albums.scrolling::-webkit-scrollbar-thumb,.page-playlist.scrolling::-webkit-scrollbar-thumb{background:#42a5f599}.page-albums.scrolling,.page-playlist.scrolling{scrollbar-color:rgba(66,165,245,.6) transparent}.page-header{display:flex;justify-content:space-between;align-items:center;padding:20px}.page-header h2{font-size:1.75rem;font-weight:700;color:#1e3a5f}.album-container{display:flex;justify-content:center;align-items:center;flex:.55;min-height:0}.album-disc{position:relative;max-width:calc(100% - 20px);max-height:calc(100% - 20px);aspect-ratio:1 / 1;border-radius:50%;background:linear-gradient(135deg,#42a5f5,#90caf9,#2196f3);box-shadow:0 1.25rem 3.75rem #2196f34d,0 0 0 .5rem #fffc,0 0 0 .75rem #42a5f533;padding:.5rem;animation:float 6s ease-in-out infinite;animation-play-state:paused;flex-shrink:0}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.album-disc.playing{animation:rotate 20s linear infinite,float 6s ease-in-out infinite;animation-play-state:running}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.album-image{width:100%;height:100%;border-radius:50%;object-fit:cover}.album-cover-fallback{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:5rem;font-weight:700;color:#fff;text-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.song-info{text-align:center;padding:20px 0;flex:.2;display:flex;flex-direction:column;justify-content:center}.song-title{font-size:1.375rem;font-weight:600;margin-bottom:8px;color:#1e3a5f;text-shadow:0 .125rem .25rem rgba(66,165,245,.1);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 20px}.artist-name{font-size:1rem;color:#5a7fa6}.progress-section{padding:20px 0;flex:.1;display:flex;flex-direction:column;justify-content:center}.progress-wrapper{position:relative;margin-bottom:.5rem}.progress-track{position:absolute;top:50%;left:0;right:0;height:.25rem;background:#42a5f533;border-radius:.125rem;transform:translateY(-50%);pointer-events:none}.progress-buffered{position:absolute;left:0;top:0;height:100%;background:#42a5f54d;border-radius:.125rem;width:0%;transition:width .3s ease}.progress-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#42a5f5,#90caf9);border-radius:.125rem;width:0%;transition:width .1s linear}.progress-slider{position:relative;width:100%;height:2.75rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;outline:none;cursor:pointer;z-index:2;display:flex;align-items:center}.time-display{display:flex;justify-content:space-between;font-size:.75rem;color:#5a7fa6}.controls{display:flex;justify-content:center;align-items:center;gap:30px;padding:0;flex:.15}.control-btn{background:none;border:none;cursor:pointer;color:#5a7fa6;transition:all .3s ease;padding:.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.control-btn:active{transform:scale(.9)}.btn-prev,.btn-next{opacity:.8}.btn-prev:active,.btn-next:active{opacity:1}.btn-play{width:6rem;height:6rem;background:linear-gradient(135deg,#42a5f5,#90caf9);box-shadow:0 .5rem 1.5rem #42a5f566;color:#fff}.btn-play:active{box-shadow:0 .25rem .75rem #42a5f566}.playlist-item{display:flex;align-items:center;gap:.9375rem;padding:.75rem;cursor:pointer;transition:all .3s ease;border-left:.1875rem solid transparent;border-radius:.5rem;margin-bottom:.25rem}.playlist-item:active{background:#42a5f51a}.playlist-item.active{background:#90caf94d;border-left-color:#42a5f5}.playlist-item-number{flex-shrink:0;font-size:.875rem;color:#90a4ae;min-width:1.5rem;font-weight:500;cursor:pointer;transition:color .2s ease}.playlist-item-number:hover,.playlist-item.active .playlist-item-number{color:#42a5f5}.playlist-item-info{flex:1;min-width:0;cursor:pointer}.playlist-item-title{font-size:.9375rem;color:#1e3a5f;font-weight:500;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-item-artist{font-size:.75rem;color:#5a7fa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-item-duration{flex-shrink:0;font-size:.8125rem;color:#90a4ae;margin-right:.5rem}.playlist-item-download{flex-shrink:0;background:none;border:none;padding:.5rem;cursor:pointer;color:#5a7fa6;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.playlist-item-download:hover{background:#42a5f51a;color:#42a5f5}.playlist-item-download:active{transform:scale(.9);background:#42a5f533}.playlist-item-download:disabled{cursor:not-allowed;opacity:.6}.playlist-item-download:disabled:hover{background:none;transform:none}.download-progress{font-size:.625rem;font-weight:600;color:#42a5f5;min-width:2rem;text-align:center}.playlist-header-actions{display:flex;align-items:center;gap:.75rem}.sort-button,.random-button,.download-toggle-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:#42a5f51a;border-radius:.5rem;cursor:pointer;transition:all .2s ease;color:#42a5f5}.random-button.active,.download-toggle-button.active{background:#42a5f54d;color:#1e88e5}.sort-button:hover,.random-button:hover{background:#42a5f533;transform:scale(1.05)}.sort-button:active,.random-button:active{transform:scale(.95)}.playlist-count{font-size:.875rem;color:#5a7fa6}.albums-container{padding:0 20px 20px}.category-section{margin-bottom:30px}.category-title{font-size:18px;font-weight:600;color:#5a4a3a;margin-bottom:15px;border-left:4px solid #42a5f5;padding-left:12px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;transition:all .2s ease}.category-title:hover{color:#42a5f5}.category-title:active{transform:scale(.98)}.category-arrow{display:inline-block;margin-right:8px;font-size:14px;transition:transform .3s ease}.category-arrow.collapsed{transform:rotate(-90deg)}.category-count{margin-left:auto;font-size:14px;color:#90a4ae;font-weight:400}.albums-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px;transition:all .3s ease}.album-card{cursor:pointer;transition:all .3s ease}.album-card:active .album-card-cover{transform:scale(.95)}.album-card.active .album-card-cover{box-shadow:0 .25rem .75rem #42a5f566;border-color:#42a5f5}.album-card-cover{position:relative;width:100%;padding-top:100%;overflow:hidden;border-radius:.75rem;background:#fff9;border:1px solid rgba(66,165,245,.2);transition:all .3s ease}.album-card-cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.album-cover-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.album-cover-placeholder span{font-size:3rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);-webkit-user-select:none;user-select:none}.album-card-info{padding:8px 4px 0;text-align:center}.album-card-info h3{font-size:13px;font-weight:500;color:#5a4a3a;margin-bottom:4px;line-height:1.3}.album-card-info p{font-size:12px;color:#8b7355;margin:4px 0;display:block}.playlist-full{list-style:none;padding:0 20px 20px}.bottom-nav{height:4.375rem;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(66,165,245,.2);display:flex;justify-content:space-around;align-items:center;flex-shrink:0}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:none;border:none;color:#90a4ae;cursor:pointer;padding:.5rem;transition:all .3s ease}.nav-item svg{transition:all .3s ease}.nav-item span{font-size:.6875rem;font-weight:500}.nav-item:active{transform:scale(.9)}.nav-item.active{color:#42a5f5}.nav-item.active svg{transform:scale(1.1)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#90a4ae}.loading-spinner{width:40px;height:40px;border:3px solid rgba(66,165,245,.2);border-top-color:#42a5f5;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{font-size:14px}.album-card-info .track-count{font-size:11px;color:#90a4ae;margin-top:4px;display:block}
