.bubble-bg[data-v-667184f2]{color:#fff;background:linear-gradient(135deg,var(--music-primary)0%,var(--music-secondary)100%);position:relative}.bubble-bg[data-v-667184f2]:before{content:"";aspect-ratio:1;transform-origin:50%;pointer-events:none;background:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" fill=\"white\"><circle cx=\"20\" cy=\"20\" r=\"2\" opacity=\".1\"/><circle cx=\"80\" cy=\"40\" r=\"1.5\" opacity=\".15\"/><circle cx=\"20\" cy=\"55\" r=\"2\" opacity=\".05\"/><circle cx=\"40\" cy=\"80\" r=\"1\" opacity=\".1\"/></svg>") 0 0/250px 250px;width:150%;animation:15s linear infinite float-667184f2,600s linear infinite rotate-667184f2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}@keyframes float-667184f2{to{background-position:250px 250px}}@keyframes rotate-667184f2{to{transform:translate(-50%,-50%)rotate(-360deg)}}[data-v-fde86ab4] pre{margin:0}pre[data-v-fde86ab4]{border-left:var(--spacing-6)solid transparent}[data-v-fde86ab4] *{--marker-color:var(--text-tertiary);--hover-marker-color:var(--text-secondary);--bracket-obj:var(--music-primary);--bracket-arr:var(--music-secondary);--key-color:var(--warning-color);--str-color:#03a9f4;--num-color:var(--success-color);--keyword-color:var(--primary-color);--unknown-color:var(--text-tertiary);--unknown-error-color:var(--error-color);--indent-line-color:#8884;--indent-line-active-color:#888c}[data-v-fde86ab4] .json-collapse{margin:0 0 0 -2ch;padding:0}[data-v-fde86ab4] summary:hover{background-color:#8882}[data-v-fde86ab4] summary::marker{cursor:pointer;font:inherit;color:var(--marker-color);content:"+ "}[data-v-fde86ab4] .json-collapse[open]>summary::marker{content:"- "}[data-v-fde86ab4] summary:hover::marker{color:var(--hover-marker-color)}[data-v-fde86ab4] .json-collapse:not([open])>summary{cursor:pointer}[data-v-fde86ab4] .json-collapse[open]:hover>summary .json-bracket,[data-v-fde86ab4] .json-collapse[open]:hover>.json-content>.json-bracket:last-child{border:1px solid var(--border-dark);margin:-1px}[data-v-fde86ab4] .json-content{padding-left:2ch;position:relative}[data-v-fde86ab4] .json-key{color:var(--key-color);font-weight:700}[data-v-fde86ab4] .json-str{color:var(--str-color)}[data-v-fde86ab4] .json-keyword{color:var(--keyword-color)}[data-v-fde86ab4] .json-num{color:var(--num-color)}[data-v-fde86ab4] .json-bracket{font-weight:700}[data-v-fde86ab4] .\{,[data-v-fde86ab4] .\}{color:var(--bracket-obj)}[data-v-fde86ab4] .\[,[data-v-fde86ab4] .\]{color:var(--bracket-arr)}[data-v-fde86ab4] .json-collapse[open]>summary .json-ellipsis{display:none}[data-v-fde86ab4] .\{+.json-ellipsis:after{content:"}";color:var(--bracket-obj);font-weight:700}[data-v-fde86ab4] .\[+.json-ellipsis:after{content:"]";color:var(--bracket-arr);font-weight:700}[data-v-fde86ab4] .json-content:after{content:"";border-left:1px dashed var(--indent-line-color);width:0;height:calc(100% - 1.75em);left:calc(1ch*var(--space)*var(--depth) + 2ch + .4ch);pointer-events:none;display:block;position:absolute;top:0}[data-v-fde86ab4] .json-collapse:hover:not(:has(.json-collapse[open]:hover))>.json-content:after{border-color:var(--indent-line-active-color)}[data-v-fde86ab4] .json-unknown{color:var(--unknown-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-v-fde86ab4] .json-unknown .json-key{opacity:.5}[data-v-fde86ab4] .json-unknown.error .json-key{background:var(--unknown-error-color)}[data-v-fde86ab4] .json-function{vertical-align:top;display:inline-block}[data-v-fde86ab4] .json-function>summary::marker{content:""}[data-v-fde86ab4] .json-function[open]>summary::marker{content:""}[data-v-fde86ab4] .json-function[open]>summary .json-ellipsis{display:none}[data-v-fde86ab4] .json-function>summary{cursor:pointer}.two-column-layout[data-v-1af29c80]{gap:var(--spacing-4);width:100%;display:flex}.two-column-layout[data-v-1af29c80]>:first-child{width:calc(var(--left-width,38.2%) - var(--spacing-4)/2)}.two-column-layout[data-v-1af29c80]>:last-child{flex:1}.tracks-list[data-v-8e043614]{background:var(--card-color);border-radius:var(--border-radius-xl);border:1px solid var(--border-light);overflow:hidden}.empty-tracks[data-v-8e043614]{padding:var(--spacing-12)var(--spacing-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon[data-v-8e043614]{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-4);opacity:.5}.empty-message[data-v-8e043614]{color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500}.tracks-header[data-v-8e043614]{gap:var(--spacing-4);padding:var(--spacing-4)var(--spacing-6);background:var(--bg-secondary);font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;grid-template-columns:60px 1fr 200px 100px 60px;font-weight:600;display:grid}.track-item[data-v-8e043614]{gap:var(--spacing-4);padding:var(--spacing-3)var(--spacing-6);border-bottom:1px solid var(--border-light);cursor:pointer;transition:all var(--duration-fast);grid-template-columns:60px 1fr 200px 100px 60px;align-items:center;display:grid}.track-item[data-v-8e043614]:hover{background:var(--bg-primary)}.track-item.active[data-v-8e043614]{background:var(--music-primary);color:#fff}.track-item.active .track-title[data-v-8e043614],.track-item.active .track-artist[data-v-8e043614],.track-item.active .track-album[data-v-8e043614]{color:#fff}.track-item.active .track-duration[data-v-8e043614],.track-item.active .track-number[data-v-8e043614],.track-item.active .track-action-btn[data-v-8e043614]{color:#fffa}.track-item.active .track-action-btn[data-v-8e043614]:hover{color:#fff;background:#ffffff1a}.track-item[data-v-8e043614]:last-child{border-bottom:none}.track-number[data-v-8e043614]{color:var(--text-tertiary);text-align:center;font-weight:500}.track-info[data-v-8e043614]{align-items:center;gap:var(--spacing-3);min-width:0;display:flex}.track-cover[data-v-8e043614]{border-radius:var(--border-radius);object-fit:cover;width:40px;height:40px}.track-details[data-v-8e043614]{min-width:0}.track-title[data-v-8e043614]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.track-artist[data-v-8e043614]{color:var(--text-secondary);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}a.track-album[data-v-8e043614]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:color var(--duration-fast);overflow:hidden}a.track-album[data-v-8e043614]:hover{color:var(--music-primary);text-decoration:underline}.track-duration[data-v-8e043614]{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.track-actions[data-v-8e043614]{gap:var(--spacing-1);display:flex}.track-action-btn[data-v-8e043614]{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--border-radius);font-size:var(--font-size-sm);transition:all var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.track-action-btn[data-v-8e043614]:hover{background:var(--bg-tertiary);color:var(--text-primary);font-weight:bolder}@media (max-width:768px){.tracks-header[data-v-8e043614],.track-item[data-v-8e043614]{gap:var(--spacing-2);grid-template-columns:40px 1fr 80px}.track-album[data-v-8e043614],.track-actions[data-v-8e043614]{display:none}}.playlist-header[data-v-f45e20ea]{margin-bottom:var(--spacing-4);padding:var(--spacing-6);justify-content:space-between;align-items:center;padding-bottom:0;display:flex}.playlist-title[data-v-f45e20ea]{font-size:var(--font-size-xl);color:var(--text-primary);align-items:center;gap:var(--spacing-3);margin:0;font-weight:700;display:flex}.playlist-title[data-v-f45e20ea]:before{content:"";background:var(--music-gradient);border-radius:var(--border-radius-full);width:4px;height:20px}.empty-playlist[data-v-f45e20ea]{padding:var(--spacing-8);color:var(--text-secondary);font-size:var(--font-size-base);justify-content:center;align-items:center;display:flex}.mini-player[data-v-47e956e9]{height:var(--player-height);background:var(--card-color);border-top:1px solid var(--border-light);z-index:var(--z-fixed);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:fixed;bottom:0;left:0;right:0}.two-col[data-v-47e956e9]{padding:0 var(--spacing-4);align-items:center}.left[data-v-47e956e9],.right[data-v-47e956e9]{padding:var(--spacing-3)var(--spacing-6);align-items:center;gap:var(--spacing-4);height:100%;display:flex}.left[data-v-47e956e9]{justify-content:flex-end}.song-info[data-v-47e956e9]{align-items:center;gap:var(--spacing-7);flex-direction:row-reverse;flex:none;min-width:200px;display:flex}.song-cover[data-v-47e956e9]{border-radius:var(--border-radius);object-fit:cover;width:50px;height:50px}.song-details[data-v-47e956e9]{text-align:end;overflow:hidden}.song-title[data-v-47e956e9]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;font-size:var(--font-size-sm);overflow:hidden}.song-artist[data-v-47e956e9]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-size-xs);overflow:hidden}.player-controls[data-v-47e956e9]{align-items:center;gap:var(--spacing-2);flex:none;display:flex}.control-btn[data-v-47e956e9]{width:36px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:var(--border-radius-full);font-size:var(--font-size-lg);transition:all var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.control-btn[data-v-47e956e9]:hover{background:var(--bg-secondary)}.play-btn[data-v-47e956e9]{background:var(--music-primary);color:#fff}.play-btn[data-v-47e956e9]:hover{background:var(--primary-dark)}.player-progress[data-v-47e956e9]{gap:var(--spacing-1);flex-direction:column;flex:1;min-width:0;display:flex}.progress-bar[data-v-47e956e9]{background:var(--bg-tertiary);border-radius:var(--border-radius-full);cursor:pointer;height:4px;position:relative}.progress-fill[data-v-47e956e9]{background:var(--music-gradient);border-radius:var(--border-radius-full);height:100%;transition:width var(--duration-fast)}.time-info[data-v-47e956e9]{font-size:var(--font-size-xs);color:var(--text-secondary);justify-content:space-between;display:flex}.player-actions[data-v-47e956e9]{align-items:center;gap:var(--spacing-2);flex:none;display:flex}.expand-btn[data-v-47e956e9],.volume-btn[data-v-47e956e9]{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-full);font-size:var(--font-size-base);transition:all var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.expand-btn[data-v-47e956e9]:hover,.volume-btn[data-v-47e956e9]:hover{background:var(--bg-secondary);color:var(--text-primary)}.playlist-overlay[data-v-47e956e9]{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0002;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.playlist-popup[data-v-47e956e9]{width:100%;max-width:38.2vw;height:61.8vh;margin-bottom:var(--player-height);margin-left:calc(38.2% + var(--spacing-1));flex-direction:column;justify-content:flex-end;display:flex}[data-v-47e956e9] .tracks-list{box-shadow:var(--shadow-xl);border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}[data-v-47e956e9] .song-list{height:calc(100% - 32px - var(--spacing-4)*2 - var(--spacing-6) - 1px);padding-bottom:var(--spacing-6);overflow-y:auto}[data-v-47e956e9] .playlist-header{border-bottom:1px solid var(--border-light);padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-4)}.close-btn[data-v-47e956e9]{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-full);line-height:32px;font-size:var(--font-size-lg);transition:all var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.close-btn[data-v-47e956e9]:hover{background:var(--bg-primary);color:var(--text-primary)}@media (max-width:768px){.playlist-popup[data-v-47e956e9]{border-radius:var(--border-radius-xl)var(--border-radius-xl)0 0;max-height:70vh}.song-info[data-v-47e956e9]{min-width:150px}.song-cover[data-v-47e956e9]{width:40px;height:40px}.time-info[data-v-47e956e9]{display:none}}.modal-overlay[data-v-56acb05e]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--spacing-4);overscroll-behavior:contain;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content[data-v-56acb05e]{background:var(--card-color);border-radius:var(--border-radius-xl);border:1px solid var(--border-light);width:61.8vw;height:80vh;box-shadow:var(--shadow-xl);overflow:hidden}.modal-header[data-v-56acb05e]{padding:var(--spacing-4)var(--spacing-6);border-bottom:1px solid var(--border-light);background:var(--bg-secondary);justify-content:space-between;align-items:center;display:flex}.modal-header h3[data-v-56acb05e]{font-size:var(--font-size-lg);color:var(--text-primary);margin:0;font-weight:600}.close-btn[data-v-56acb05e]{font-size:var(--font-size-xl);color:var(--text-secondary);cursor:pointer;padding:var(--spacing-2);border-radius:var(--border-radius);transition:all var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.close-btn[data-v-56acb05e]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-56acb05e]{padding:var(--spacing-6);max-height:calc(80vh - 80px);overflow-y:auto}@media (max-width:768px){.modal-overlay[data-v-56acb05e]{padding:var(--spacing-2)}.modal-content[data-v-56acb05e]{max-height:90vh}.modal-body[data-v-56acb05e]{padding:var(--spacing-4);max-height:calc(90vh - 80px)}}.theme-toggle[data-v-0d0b9d04]{border-radius:var(--border-radius-full);border:1px solid var(--border-light);background:var(--card-color);width:44px;height:44px;color:var(--text-primary);font-size:var(--font-size-lg);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--duration-normal);justify-content:center;align-items:center;display:flex}.theme-toggle[data-v-0d0b9d04]:hover{box-shadow:var(--shadow-lg);transform:scale(1.05)}@media (max-width:768px){.theme-toggle[data-v-0d0b9d04]{width:40px;height:40px;font-size:var(--font-size-base)}}