.lyric-container[data-v-35117d0c]{--lyric-text:hsla(0,0%,100%,.6);--lyric-text-subtle:hsla(0,0%,100%,.4);--lyric-text-active:#fff;--lyric-active-shadow:0 0 8px hsla(0,0%,100%,.3);--lyric-empty:hsla(0,0%,100%,.4);--lyric-scrollbar:hsla(0,0%,100%,.16);--lyric-scrollbar-hover:hsla(0,0%,100%,.3);flex:1;min-height:0;overflow-y:auto;position:relative;text-align:center;padding:0 6px;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.22) transparent}.lyric-pad[data-v-35117d0c]{height:38%}.lyric-line[data-v-35117d0c]{padding:7px 0;transition:all .3s ease;opacity:.45}.lyric-line.active[data-v-35117d0c]{opacity:1}.lyric-line.active .original[data-v-35117d0c]{color:var(--lyric-text-active);font-weight:600;text-shadow:var(--lyric-active-shadow)}.original[data-v-35117d0c]{margin:0;font-size:16px;line-height:1.7;color:var(--lyric-text);transition:color .3s}.translation[data-v-35117d0c]{margin:3px 0 0;font-size:12px;line-height:1.5;color:var(--lyric-text-subtle)}.lyric-empty[data-v-35117d0c]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--lyric-empty);font-size:13px}.lyric-container[data-v-35117d0c]::-webkit-scrollbar{width:5px}.lyric-container[data-v-35117d0c]::-webkit-scrollbar-track{background:transparent}.lyric-container[data-v-35117d0c]::-webkit-scrollbar-thumb{background:var(--lyric-scrollbar);border-radius:999px}.lyric-container[data-v-35117d0c]::-webkit-scrollbar-thumb:hover{background:var(--lyric-scrollbar-hover)}*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark}html[data-musichub-mobile-theme=light]{color-scheme:light}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;background:#111}#app,body{overflow:hidden;height:100vh;height:100dvh}.app-shell{--mh-text:#f7f8fb;--mh-text-strong:#fff;--mh-muted:hsla(0,0%,100%,.62);--mh-muted-soft:hsla(0,0%,100%,.42);--mh-panel:hsla(0,0%,100%,.06);--mh-panel-strong:hsla(0,0%,100%,.1);--mh-border:hsla(0,0%,100%,.1);--mh-border-strong:hsla(0,0%,100%,.18);--mh-control:hsla(0,0%,100%,.08);--mh-control-hover:hsla(0,0%,100%,.14);--mh-field:hsla(0,0%,100%,.06);--mh-menu:rgba(20,20,30,.96);--mh-page-shadow:rgba(0,0,0,.28);--mh-accent:#1ed760;--mh-accent-2:#2563eb;--mh-accent-text:#06110a;--mh-action-neutral-bg:hsla(0,0%,100%,.08);--mh-action-neutral-hover:hsla(0,0%,100%,.14);--mh-action-neutral-fg:hsla(0,0%,100%,.76);--mh-action-primary-bg:linear-gradient(135deg,var(--mh-accent),var(--mh-accent-2));--mh-action-primary-hover:linear-gradient(135deg,color-mix(in srgb,var(--mh-accent) 88%,#fff),color-mix(in srgb,var(--mh-accent-2) 88%,#fff));--mh-action-primary-fg:#fff;--mh-action-active-bg:color-mix(in srgb,#ef4444 16%,var(--mh-control));--mh-action-active-fg:#ef4444;width:100%;min-height:100vh;min-height:100dvh;color:var(--mh-text)}.app-shell.mobile-light{--mh-text:#1f2937;--mh-text-strong:#101828;--mh-muted:#667085;--mh-muted-soft:#8a94a6;--mh-panel:hsla(0,0%,100%,.76);--mh-panel-strong:hsla(0,0%,100%,.94);--mh-border:rgba(15,23,42,.1);--mh-border-strong:rgba(15,23,42,.16);--mh-control:rgba(15,23,42,.06);--mh-control-hover:rgba(15,23,42,.1);--mh-field:hsla(0,0%,100%,.86);--mh-menu:hsla(0,0%,100%,.98);--mh-page-shadow:rgba(15,23,42,.12);--mh-accent:#16a34a;--mh-accent-2:#2563eb;--mh-accent-text:#fff;--mh-action-neutral-bg:rgba(15,23,42,.08);--mh-action-neutral-hover:rgba(15,23,42,.14);--mh-action-neutral-fg:#334155;--mh-action-primary-bg:linear-gradient(135deg,var(--mh-accent),var(--mh-accent-2));--mh-action-primary-hover:linear-gradient(135deg,color-mix(in srgb,var(--mh-accent) 90%,#fff),color-mix(in srgb,var(--mh-accent-2) 90%,#fff));--mh-action-primary-fg:#fff;--mh-action-active-bg:color-mix(in srgb,#ef4444 12%,var(--mh-control));--mh-action-active-fg:#dc2626}.bg-layer{position:fixed;inset:0;z-index:-1;background:#111}.bg-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35)}.auth-wrapper{height:100vh;height:100dvh;justify-content:center}.auth-wrapper,.top-bar{display:flex;align-items:center}.top-bar{position:fixed;top:0;left:0;right:0;height:48px;z-index:200;gap:32px}.brand{font-size:18px;font-weight:700;color:#fff;text-decoration:none;letter-spacing:.5px;flex-shrink:0}.nav-links{display:flex;gap:2px}.nav-item{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;text-decoration:none;color:hsla(0,0%,100%,.7);font-size:13px;font-weight:500;transition:all .2s}.nav-item:hover{background:hsla(0,0%,100%,.08);color:#fff}.nav-item.active{background:hsla(0,0%,100%,.14);color:#fff}.admin-nav .nav-label{color:#b794f4}.admin-nav:hover .nav-label{color:#d4bfff}.admin-nav.active .nav-label{color:#e9d5ff}.nav-svg{width:15px;height:15px;flex-shrink:0}.nav-label{white-space:nowrap}.user-area,.user-btn{display:flex;align-items:center;gap:8px}.user-btn{padding:6px 12px;border-radius:20px;text-decoration:none;color:hsla(0,0%,100%,.85);font-size:13px;transition:all .2s}.user-btn:hover{background:hsla(0,0%,100%,.08)}.avatar-initial-sm{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;line-height:1;flex-shrink:0}.nickname{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:none;border:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.7);padding:4px 12px;border-radius:14px;font-size:12px;cursor:pointer;transition:all .2s}.logout-btn:hover{background:hsla(0,0%,100%,.1);color:#fff}.login-btn,.register-btn{padding:6px 16px;border-radius:18px;text-decoration:none;font-size:13px;font-weight:500;transition:all .2s}.login-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.login-btn:hover{transform:translateY(-1px);box-shadow:0 2px 10px rgba(102,126,234,.4)}.register-btn{border:1px solid hsla(0,0%,100%,.25);color:hsla(0,0%,100%,.8)}.register-btn:hover{background:hsla(0,0%,100%,.08)}.main-area{height:calc(100vh - 48px);margin-top:48px}.main-area.has-player{padding-bottom:64px}.content-panel{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 28px;min-width:0}.lyric-panel{background:rgba(0,0,0,.08);border-left:1px solid hsla(0,0%,100%,.05);overflow:hidden}.lyric-cover{width:min(150px,48%);aspect-ratio:1/1;border-radius:12px;overflow:hidden;margin:0 auto;flex-shrink:0}.lyric-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-default{width:100%;height:100%;background:transparent}.lyric-now-playing{text-align:center}.now-title{font-size:15px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-artist{font-size:12px;color:hsla(0,0%,100%,.65);margin-top:4px}.player-bar{position:fixed;bottom:0;left:0;right:0;height:64px;z-index:200}.player-bar,.player-bar-inner{display:flex;align-items:center}.player-bar-inner{width:100%;padding:0 20px;gap:16px}.bar-song{display:flex;align-items:center;gap:10px;flex:0 0 200px;min-width:0}.bar-cover{width:44px;height:44px;border-radius:8px;overflow:hidden;flex-shrink:0}.bar-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-default-sm{width:100%;height:100%;background:transparent}.bar-info{min-width:0}.bar-title{font-size:13px;font-weight:600;color:#fff}.bar-artist,.bar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-artist{font-size:11px;color:hsla(0,0%,100%,.6);margin-top:2px}.bar-controls{gap:6px;flex-shrink:0}.bar-controls,.ctrl-btn{display:flex;align-items:center}.ctrl-btn{width:34px;height:34px;border-radius:50%;border:none;background:hsla(0,0%,100%,.08);color:#fff;cursor:pointer;transition:all .2s;justify-content:center}.ctrl-btn:hover{background:hsla(0,0%,100%,.18)}.play-btn{width:42px;height:42px}.mode-btn{color:hsla(0,0%,100%,.5)}.mode-btn:hover{color:#fff}.bar-progress{flex:1;display:flex;align-items:center;gap:10px}.bar-time{font-size:11px;color:hsla(0,0%,100%,.55);min-width:36px;text-align:center}.bar-track{flex:1;height:4px;background:hsla(0,0%,100%,.12);border-radius:2px;cursor:pointer;position:relative}.bar-fill{height:100%;background:hsla(0,0%,100%,.75);border-radius:2px;transition:width .15s linear;pointer-events:none}.bar-volume{display:flex;align-items:center;gap:8px;flex:0 0 120px;position:relative}.vol-icon{cursor:pointer;color:hsla(0,0%,100%,.7);flex-shrink:0}.vol-icon:hover{color:#fff}.vol-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.15);border-radius:2px;outline:none}.vol-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer}.vol-popup{position:absolute;bottom:calc(100% + 14px);right:-8px;padding:14px 16px;background:rgba(30,30,30,.95);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.vol-popup-slider{width:100px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.15);border-radius:2px;outline:none}.vol-popup-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer}.lyric-toggle-btn{flex-shrink:0}.lyric-toggle-btn:hover{background:var(--mh-control-hover);color:var(--mh-text-strong)}.lyric-sheet-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.5);display:flex;align-items:flex-end}.lyric-sheet{width:100%;max-height:70vh;background:hsla(0,0%,8%,.97);border-radius:16px 16px 0 0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;overflow:hidden}.lyric-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;flex-shrink:0;border-bottom:1px solid hsla(0,0%,100%,.06)}.lyric-sheet-title{font-size:16px;font-weight:600;color:#fff}.lyric-sheet-close{background:none;border:none;color:hsla(0,0%,100%,.5);cursor:pointer;padding:4px;display:flex;transition:color .2s}.lyric-sheet-close:hover{color:#fff}.lyric-sheet-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 20px}.sheet-slide-enter-active{transition:all .3s ease-out}.sheet-slide-leave-active{transition:all .25s ease-in}.sheet-slide-enter-from .lyric-sheet,.sheet-slide-leave-to .lyric-sheet{transform:translateY(100%)}.sheet-slide-enter-from,.sheet-slide-leave-to{opacity:0}.site-footer{position:fixed;bottom:0;left:0;right:0;height:22px;display:flex;align-items:center;justify-content:center;gap:6px;z-index:199}.site-footer a{font-size:11px;color:hsla(0,0%,100%,.25);text-decoration:none;transition:color .2s}.site-footer a:hover{color:hsla(0,0%,100%,.5)}.filing-sep{color:hsla(0,0%,100%,.15);font-size:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.psb-icon{width:14px;height:14px;opacity:.3;transition:opacity .2s;vertical-align:middle}.psb-icon:hover{opacity:.55}.site-footer.with-player{bottom:64px}.toast{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}.toast-content{background:rgba(30,30,30,.95);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;padding:28px 32px;text-align:center;color:#fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.toast-content p{font-size:16px;margin-bottom:20px}.toast-actions{display:flex;gap:12px;justify-content:center}.toast-btn{padding:8px 24px;border-radius:20px;font-size:14px;cursor:pointer;transition:all .2s;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15);color:#fff;text-decoration:none}.toast-btn:hover{background:hsla(0,0%,100%,.2)}.toast-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.toast-btn.primary:hover{box-shadow:0 2px 10px rgba(102,126,234,.4)}.fade-enter-active,.fade-leave-active{transition:opacity .25s}.fade-enter-from,.fade-leave-to{opacity:0}.msg-container{position:fixed;top:60px;left:50%;transform:translateX(-50%);z-index:10000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.msg-toast{padding:10px 24px;border-radius:20px;font-size:13px;font-weight:500;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:auto;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.3)}.msg-toast.success{background:rgba(76,175,80,.85)}.msg-toast.error{background:rgba(231,76,60,.85)}.msg-toast.info{background:rgba(102,126,234,.85)}.msg-slide-enter-active{transition:all .3s ease-out}.msg-slide-leave-active{transition:all .25s ease-in}.msg-slide-enter-from{opacity:0;transform:translateY(-16px)}.msg-slide-leave-to{opacity:0;transform:translateY(-10px)}.content-panel::-webkit-scrollbar,.lyric-panel::-webkit-scrollbar{width:4px}.content-panel::-webkit-scrollbar-thumb,.lyric-panel::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:2px}@media (max-width:768px){.lyric-panel{display:none}.lyric-toggle-btn{display:flex}.bar-volume{flex:0 0 auto}.vol-slider{display:none}.bar-song{flex:0 0 120px}.nav-label{display:none}.brand{font-size:16px;letter-spacing:0}.nav-item{padding:0;width:36px;height:36px;border-radius:50%;justify-content:center}.nav-svg{width:18px;height:18px}.nav-links{gap:4px}.top-bar{padding:0 14px;gap:16px;background:rgba(0,0,0,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.content-panel{padding:16px 14px}.player-bar-inner{padding:0 10px;gap:8px}.bar-controls{gap:4px}.ctrl-btn{width:30px;height:30px}.play-btn{width:38px;height:38px}.bar-progress{gap:6px}.bar-time{font-size:10px;min-width:30px}.main-area{height:calc(100dvh - 48px)}.toast-content{padding:20px 24px;margin:0 16px}}@media (max-width:480px){.bar-song{flex:0 0 100px}.bar-cover{width:36px;height:36px}.bar-title{font-size:12px}.bar-artist{display:none}.content-panel{padding:12px 10px}.top-bar{padding:0 10px;gap:10px}.brand{font-size:15px}.nav-item{width:34px;height:34px}.nav-svg{width:17px;height:17px}.user-area{gap:4px}.nickname{max-width:50px}.login-btn,.register-btn{padding:5px 12px;font-size:12px}}@media (max-width:767px){#app,body{background:#08090c;overscroll-behavior:none}.bg-layer{background:radial-gradient(circle at 50% -10%,rgba(30,215,96,.16),transparent 34%),linear-gradient(180deg,#111216,#08090c 52%,#090a0d)}.bg-layer.mobile-dark-bg{background:radial-gradient(circle at 12% -8%,rgba(30,215,96,.13),transparent 34%),radial-gradient(circle at 92% 18%,rgba(99,102,241,.12),transparent 30%),linear-gradient(180deg,#101116,#08090c 56%,#090a0d)}.bg-layer.mobile-light-bg{background:radial-gradient(circle at 16% -8%,rgba(30,215,96,.16),transparent 32%),radial-gradient(circle at 92% 14%,rgba(99,102,241,.13),transparent 28%),linear-gradient(180deg,#fbfcff,#f4f7fb 54%,#edf1f6)}.bg-overlay{background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.54)),rgba(0,0,0,.18)}.bg-layer.mobile-light-bg .bg-overlay{background:linear-gradient(180deg,hsla(0,0%,100%,.42),hsla(0,0%,100%,.12))}.app-shell.mobile-light .mobile-header{background:hsla(0,0%,100%,.82);border-bottom-color:rgba(15,23,42,.08)}.app-shell.mobile-light .header-icon,.app-shell.mobile-light .mobile-brand{color:#121826}.app-shell.mobile-light .mobile-bottom-nav,.app-shell.mobile-light .mobile-mini-player{background:hsla(0,0%,100%,.86);border-color:rgba(15,23,42,.1);box-shadow:0 18px 44px rgba(15,23,42,.14);color:#121826}.app-shell.mobile-light .bottom-link.active{color:#101828;background:rgba(15,23,42,.07)}.app-shell.mobile-light .mobile-mini-player .mini-info span{color:#667085}.app-shell.mobile-light .mobile-mini-player .mini-control{background:#101828;color:#fff}.main-area.mobile-main{height:100dvh;margin-top:0;padding-bottom:0;display:block}.main-area.mobile-main .content-panel{height:100%;padding:80px 16px 96px;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.main-area.mobile-main.has-player .content-panel{padding-bottom:96px}.site-footer{display:none}.msg-container{top:76px;left:16px;right:16px;transform:none}.msg-toast{width:100%;max-width:360px;text-align:center}.toast-content{width:calc(100vw - 32px);border-radius:20px}.lyric-sheet-overlay{z-index:340}.lyric-sheet{max-height:82vh;border-radius:24px 24px 0 0}html[data-musichub-mobile-theme=light] #app,html[data-musichub-mobile-theme=light] body{background:#f4f7fb}.app-shell.mobile-dark .content-panel,.app-shell.mobile-light .content-panel{color:var(--mh-text)}.app-shell.mobile-light .bg-layer.mobile-light-bg{background:linear-gradient(180deg,hsla(0,0%,100%,.86),hsla(0,0%,100%,.58) 44%,hsla(0,0%,100%,.28)),radial-gradient(circle at 16% -8%,rgba(22,163,74,.15),transparent 32%),radial-gradient(circle at 92% 14%,rgba(37,99,235,.12),transparent 28%),linear-gradient(180deg,#fbfcff,#f4f7fb 54%,#edf1f6)}.app-shell.mobile-light .bg-layer.mobile-light-bg .bg-overlay{background:linear-gradient(180deg,hsla(0,0%,100%,.28),hsla(0,0%,100%,.06))}.app-shell.mobile-light .admin-page,.app-shell.mobile-light .admin-page h1,.app-shell.mobile-light .album-page,.app-shell.mobile-light .artist-page,.app-shell.mobile-light .bar-title,.app-shell.mobile-light .card-name,.app-shell.mobile-light .collected-page,.app-shell.mobile-light .detail-page,.app-shell.mobile-light .discover-page,.app-shell.mobile-light .display-name,.app-shell.mobile-light .history-page,.app-shell.mobile-light .meta-value,.app-shell.mobile-light .mini-info strong,.app-shell.mobile-light .mobile-album-card strong,.app-shell.mobile-light .mobile-artist-card strong,.app-shell.mobile-light .mobile-discover,.app-shell.mobile-light .mobile-section-head h2,.app-shell.mobile-light .page-head h2,.app-shell.mobile-light .playlist-page,.app-shell.mobile-light .profile-page,.app-shell.mobile-light .recommend-main strong,.app-shell.mobile-light .search-page,.app-shell.mobile-light .song-copy strong,.app-shell.mobile-light .song-title,.app-shell.mobile-light h2,.app-shell.mobile-light h3{color:var(--mh-text-strong)}.app-shell.mobile-light .album-grid span,.app-shell.mobile-light .artist-strip em,.app-shell.mobile-light .bar-artist,.app-shell.mobile-light .card-desc,.app-shell.mobile-light .card-time,.app-shell.mobile-light .count,.app-shell.mobile-light .date,.app-shell.mobile-light .idx,.app-shell.mobile-light .list-header,.app-shell.mobile-light .login-hint p,.app-shell.mobile-light .meta-label,.app-shell.mobile-light .mobile-album-card span,.app-shell.mobile-light .mobile-artist-card em,.app-shell.mobile-light .mobile-section-head button,.app-shell.mobile-light .mobile-section-head p,.app-shell.mobile-light .mobile-section-head span,.app-shell.mobile-light .pl-count,.app-shell.mobile-light .play-count,.app-shell.mobile-light .recommend-main span,.app-shell.mobile-light .song-copy span,.app-shell.mobile-light .song-meta,.app-shell.mobile-light .status{color:var(--mh-muted)}.app-shell.mobile-light .mobile-header{background:hsla(0,0%,100%,.84);border-bottom-color:var(--mh-border);box-shadow:0 10px 28px rgba(15,23,42,.08)}.app-shell.mobile-light .header-icon,.app-shell.mobile-light .mobile-brand{color:var(--mh-text-strong)}.app-shell.mobile-light .album-grid a,.app-shell.mobile-light .artist-strip a,.app-shell.mobile-light .card,.app-shell.mobile-light .left-card,.app-shell.mobile-light .lyric-sheet,.app-shell.mobile-light .meta-list,.app-shell.mobile-light .mobile-bottom-nav,.app-shell.mobile-light .mobile-mini-player,.app-shell.mobile-light .mobile-song-card,.app-shell.mobile-light .modal,.app-shell.mobile-light .modal-box,.app-shell.mobile-light .recommend-more,.app-shell.mobile-light .recommend-row,.app-shell.mobile-light .right-card,.app-shell.mobile-light .search-bar,.app-shell.mobile-light .toast-content,.app-shell.mobile-light .vol-popup{background:var(--mh-panel);border-color:var(--mh-border);color:var(--mh-text-strong);box-shadow:0 16px 36px var(--mh-page-shadow)}.app-shell.mobile-light .card,.app-shell.mobile-light .left-card,.app-shell.mobile-light .lyric-sheet,.app-shell.mobile-light .mobile-song-card,.app-shell.mobile-light .modal,.app-shell.mobile-light .modal-box,.app-shell.mobile-light .recommend-more,.app-shell.mobile-light .recommend-row,.app-shell.mobile-light .right-card,.app-shell.mobile-light .search-bar,.app-shell.mobile-light .toast-content{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app-shell.mobile-light .album-grid a:hover,.app-shell.mobile-light .artist-strip a:hover,.app-shell.mobile-light .bottom-link.active,.app-shell.mobile-light .card:hover,.app-shell.mobile-light .mobile-song-card:active,.app-shell.mobile-light .song-row.active,.app-shell.mobile-light .song-row:hover,.app-shell.mobile-light .source-dropdown,.app-shell.mobile-light .tag{background:var(--mh-control-hover)}.app-shell.mobile-light .source-menu{background:var(--mh-menu);border-color:var(--mh-border);box-shadow:0 14px 32px rgba(15,23,42,.14)}.app-shell.mobile-light .source-option{color:var(--mh-muted)}.app-shell.mobile-light .source-option.active,.app-shell.mobile-light .source-option:hover{background:var(--mh-control);color:var(--mh-text-strong)}.app-shell.mobile-light .field input,.app-shell.mobile-light .modal-input,.app-shell.mobile-light input,.app-shell.mobile-light textarea{background:var(--mh-field);border-color:var(--mh-border);color:var(--mh-text-strong)}.app-shell.mobile-light .field input::-moz-placeholder,.app-shell.mobile-light .modal-input::-moz-placeholder,.app-shell.mobile-light input::-moz-placeholder,.app-shell.mobile-light textarea::-moz-placeholder{color:var(--mh-muted-soft)}.app-shell.mobile-light .field input::placeholder,.app-shell.mobile-light .modal-input::placeholder,.app-shell.mobile-light input::placeholder,.app-shell.mobile-light textarea::placeholder{color:var(--mh-muted-soft)}.app-shell.mobile-light .platform-chip{background:var(--mh-panel-strong);border-color:var(--mh-border);color:var(--mh-text);box-shadow:0 8px 22px rgba(15,23,42,.08)}.app-shell.mobile-light .btn.submit,.app-shell.mobile-light .goto-login,.app-shell.mobile-light .mini-control,.app-shell.mobile-light .mobile-mini-player .mini-control,.app-shell.mobile-light .platform-chip.active,.app-shell.mobile-light .recommend-index,.app-shell.mobile-light .recommend-play,.app-shell.mobile-light .recommend-source,.app-shell.mobile-light .save-btn,.app-shell.mobile-light .search-btn,.app-shell.mobile-light .song-icon.play,.app-shell.mobile-light .toast-btn.primary{background:var(--mh-action-primary-bg);color:var(--mh-action-primary-fg)}.app-shell.mobile-light .mobile-mini-player .mini-secondary{background:rgba(15,23,42,.08);color:#27364a}.app-shell.mobile-light .recommend-play,.app-shell.mobile-light .recommend-source{background:var(--mh-control);color:var(--mh-muted)}.app-shell.mobile-light .bottom-link{color:#647083}.app-shell.mobile-light .bottom-link.active{color:var(--mh-text-strong)}.app-shell.mobile-light .bottom-link.active .bottom-icon,.app-shell.mobile-light .drawer-link-icon,.app-shell.mobile-light .ranking-row:hover .rank-play{color:var(--mh-accent)}.app-shell.mobile-light .act-btn,.app-shell.mobile-light .back-btn,.app-shell.mobile-light .btn,.app-shell.mobile-light .create-btn,.app-shell.mobile-light .fav-btn,.app-shell.mobile-light .goto-search,.app-shell.mobile-light .load-more-btn,.app-shell.mobile-light .modal-close,.app-shell.mobile-light .retry-btn,.app-shell.mobile-light .rm-btn,.app-shell.mobile-light .song-icon,.app-shell.mobile-light .toast-btn,.app-shell.mobile-light .unfav-btn{background:var(--mh-action-neutral-bg);border-color:var(--mh-border);color:var(--mh-action-neutral-fg)}.app-shell.mobile-light .add-btn,.app-shell.mobile-light .btn.submit,.app-shell.mobile-light .goto-login,.app-shell.mobile-light .recommend-action-btn.add-action,.app-shell.mobile-light .save-btn,.app-shell.mobile-light .search-btn,.app-shell.mobile-light .song-icon.play,.app-shell.mobile-light .toast-btn.primary{background:var(--mh-action-primary-bg);color:var(--mh-action-primary-fg)}.app-shell.mobile-light .add-btn:hover,.app-shell.mobile-light .btn.submit:hover,.app-shell.mobile-light .goto-login:hover,.app-shell.mobile-light .recommend-action-btn.add-action:hover,.app-shell.mobile-light .save-btn:hover,.app-shell.mobile-light .search-btn:hover,.app-shell.mobile-light .song-icon.play:hover,.app-shell.mobile-light .toast-btn.primary:hover{background:var(--mh-action-primary-hover)}.app-shell.mobile-light .act-btn:hover,.app-shell.mobile-light .back-btn:hover,.app-shell.mobile-light .btn:hover,.app-shell.mobile-light .create-btn:hover,.app-shell.mobile-light .fav-btn:hover,.app-shell.mobile-light .goto-search:hover,.app-shell.mobile-light .load-more-btn:hover,.app-shell.mobile-light .modal-close:hover,.app-shell.mobile-light .retry-btn:hover,.app-shell.mobile-light .rm-btn:hover,.app-shell.mobile-light .song-icon:active,.app-shell.mobile-light .toast-btn:hover{background:var(--mh-control-hover)}.app-shell.mobile-light .fav-btn.faved,.app-shell.mobile-light .fav-btn.faved:hover,.app-shell.mobile-light .recommend-action-btn.fav-action.faved,.app-shell.mobile-light .recommend-action-btn.fav-action.faved:hover{background:var(--mh-action-active-bg);color:var(--mh-action-active-fg)}.app-shell.mobile-light .album-cover,.app-shell.mobile-light .card-cover,.app-shell.mobile-light .card-cover-placeholder,.app-shell.mobile-light .cover-default-xs,.app-shell.mobile-light .lazy-image,.app-shell.mobile-light .lazy-placeholder{background:radial-gradient(circle at 26% 18%,rgba(22,163,74,.16),transparent 32%),linear-gradient(135deg,hsla(0,0%,100%,.92),rgba(230,236,246,.78));color:var(--mh-muted)}.app-shell.mobile-light .mobile-banner{box-shadow:0 18px 38px rgba(15,23,42,.12)}.app-shell.mobile-light .banner-slide{box-shadow:none}.app-shell.mobile-light .lyric-sheet-overlay,.app-shell.mobile-light .modal-mask,.app-shell.mobile-light .toast{background:rgba(15,23,42,.28)}.app-shell.mobile-light .admin-page .audio-preview,.app-shell.mobile-light .admin-page .bucket-grid button,.app-shell.mobile-light .admin-page .gen-card,.app-shell.mobile-light .admin-page .image-preview,.app-shell.mobile-light .admin-page .list-card,.app-shell.mobile-light .admin-page .lyric-preview section,.app-shell.mobile-light .admin-page .panel,.app-shell.mobile-light .admin-page .text-preview{background:var(--mh-panel);border-color:var(--mh-border);color:var(--mh-text-strong);box-shadow:0 16px 36px var(--mh-page-shadow)}.app-shell.mobile-light .admin-page .code-table td,.app-shell.mobile-light .admin-page .code-table th,.app-shell.mobile-light .admin-page .metric,.app-shell.mobile-light .admin-page .modal-head,.app-shell.mobile-light .admin-page .pager,.app-shell.mobile-light .admin-page .table-row{border-color:var(--mh-border)}.app-shell.mobile-light .admin-page .code-table th,.app-shell.mobile-light .admin-page .empty,.app-shell.mobile-light .admin-page .metric span,.app-shell.mobile-light .admin-page .modal-head p,.app-shell.mobile-light .admin-page .pager span,.app-shell.mobile-light .admin-page .preview-meta span,.app-shell.mobile-light .admin-page .preview-state,.app-shell.mobile-light .admin-page .recent-row em,.app-shell.mobile-light .admin-page .recent-row span,.app-shell.mobile-light .admin-page .result-tip,.app-shell.mobile-light .admin-page .status,.app-shell.mobile-light .admin-page .table-head,.app-shell.mobile-light .admin-page .table-row em,.app-shell.mobile-light .admin-page .table-row span{color:var(--mh-muted)}.app-shell.mobile-light .admin-page .code-table td,.app-shell.mobile-light .admin-page .modal,.app-shell.mobile-light .admin-page .modal h2,.app-shell.mobile-light .admin-page .table-row strong,.app-shell.mobile-light .admin-page pre{color:var(--mh-text-strong)}.app-shell.mobile-light .admin-page input{background:var(--mh-field);border-color:var(--mh-border);color:var(--mh-text-strong)}.app-shell.mobile-light .admin-page .filter-btn,.app-shell.mobile-light .admin-page .nav-btn,.app-shell.mobile-light .admin-page .pager button,.app-shell.mobile-light .admin-page .row-link,.app-shell.mobile-light .admin-page a,.app-shell.mobile-light .admin-page button{background:var(--mh-control);border-color:var(--mh-border);color:var(--mh-text)}.app-shell.mobile-light .admin-page .bucket-grid button.active,.app-shell.mobile-light .admin-page .bucket-tabs button.active,.app-shell.mobile-light .admin-page .filter-btn.active,.app-shell.mobile-light .admin-page .filter-btn:hover,.app-shell.mobile-light .admin-page .nav-btn:hover,.app-shell.mobile-light .admin-page .row-link:hover,.app-shell.mobile-light .admin-page a:hover,.app-shell.mobile-light .admin-page button:hover{background:var(--mh-control-hover);color:var(--mh-text-strong)}.app-shell.mobile-light .admin-page .gen-btn{background:linear-gradient(135deg,var(--mh-accent),var(--mh-accent-2));color:#fff}.app-shell.mobile-light .admin-page .code-chip,.app-shell.mobile-light .admin-page .td-code{color:#5b21b6}.app-shell.mobile-light .admin-page .code-chip{background:rgba(91,33,182,.08);border-color:rgba(91,33,182,.18)}.app-shell.mobile-light .admin-page .danger,.app-shell.mobile-light .admin-page .preview-state.error{color:#b42318}.app-shell.mobile-light .admin-page .badge.used{background:var(--mh-control);color:var(--mh-muted)}.app-shell.mobile-light .lyric-sheet-header{border-bottom-color:var(--mh-border)}.app-shell.mobile-light .lyric-sheet .lyric-container{--lyric-text:rgba(16,24,40,.72);--lyric-text-subtle:rgba(71,84,103,.72);--lyric-text-active:#101828;--lyric-active-shadow:0 1px 0 hsla(0,0%,100%,.65);--lyric-empty:#667085;--lyric-scrollbar:rgba(15,23,42,.16);--lyric-scrollbar-hover:rgba(15,23,42,.28)}.app-shell.mobile-light .lyric-sheet-title,.app-shell.mobile-light .modal-box h4,.app-shell.mobile-light .modal-box p,.app-shell.mobile-light .pl-name,.app-shell.mobile-light .toast-content{color:var(--mh-text-strong)}.app-shell.mobile-light .content-panel::-webkit-scrollbar-thumb{background:rgba(15,23,42,.16)}}html[data-musichub-theme=dark]{color-scheme:dark}html[data-musichub-theme=light]{color-scheme:light}body{background:var(--mh-bg,#0f1115)}html[data-musichub-theme=light] body{background:#f7f8fa}html[data-musichub-theme=dark] body{background:#0f1115}.app-shell.theme-dark{--mh-bg:#0f1115;--mh-bg-soft:#141821;--mh-panel:#181c24;--mh-panel-strong:#202633;--mh-panel-glass:rgba(24,28,36,.78);--mh-card:#181c24;--mh-card-hover:#202633;--mh-text:#d9dee8;--mh-text-strong:#f8fafc;--mh-muted:#8f98aa;--mh-muted-soft:#687386;--mh-border:hsla(0,0%,100%,.08);--mh-border-strong:hsla(0,0%,100%,.14);--mh-control:hsla(0,0%,100%,.07);--mh-control-hover:hsla(0,0%,100%,.12);--mh-field:hsla(0,0%,100%,.08);--mh-menu:rgba(24,28,36,.96);--mh-page-shadow:rgba(0,0,0,.28);--mh-accent:#8b5cf6;--mh-accent-2:#2563eb;--mh-accent-text:#fff;--mh-action-neutral-bg:hsla(0,0%,100%,.07);--mh-action-neutral-hover:hsla(0,0%,100%,.14);--mh-action-neutral-fg:hsla(0,0%,100%,.76);--mh-action-primary-bg:linear-gradient(135deg,var(--mh-accent),var(--mh-accent-2));--mh-action-primary-hover:linear-gradient(135deg,color-mix(in srgb,var(--mh-accent) 88%,#fff),color-mix(in srgb,var(--mh-accent-2) 88%,#fff));--mh-action-primary-fg:#fff;--mh-action-active-bg:color-mix(in srgb,#ef4444 16%,var(--mh-control));--mh-action-active-fg:#ef4444}.app-shell.theme-light{--mh-bg:#f7f8fa;--mh-bg-soft:#eef2f7;--mh-panel:#fff;--mh-panel-strong:#f3f6fb;--mh-panel-glass:hsla(0,0%,100%,.82);--mh-card:#fff;--mh-card-hover:#f4f7fb;--mh-text:#1a202c;--mh-text-strong:#0f172a;--mh-muted:#475569;--mh-muted-soft:#64748b;--mh-border:rgba(15,23,42,.1);--mh-border-strong:rgba(15,23,42,.16);--mh-control:rgba(15,23,42,.06);--mh-control-hover:rgba(15,23,42,.1);--mh-field:#fff;--mh-menu:hsla(0,0%,100%,.96);--mh-page-shadow:rgba(15,23,42,.1);--mh-accent:#7c3aed;--mh-accent-2:#2563eb;--mh-accent-text:#fff;--mh-action-neutral-bg:rgba(15,23,42,.06);--mh-action-neutral-hover:rgba(15,23,42,.1);--mh-action-neutral-fg:#334155;--mh-action-primary-bg:linear-gradient(135deg,var(--mh-accent),var(--mh-accent-2));--mh-action-primary-hover:linear-gradient(135deg,color-mix(in srgb,var(--mh-accent) 92%,#fff),color-mix(in srgb,var(--mh-accent-2) 92%,#fff));--mh-action-primary-fg:#fff;--mh-action-active-bg:color-mix(in srgb,#ef4444 12%,var(--mh-control));--mh-action-active-fg:#dc2626}.bg-layer{background:linear-gradient(180deg,color-mix(in srgb,var(--mh-bg-soft) 72%,transparent),transparent 42%),var(--mh-bg)}.bg-overlay{display:none}.top-bar{height:72px;padding:0 24px;background:var(--mh-panel-glass);border-bottom:1px solid var(--mh-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 30px var(--mh-page-shadow)}.top-bar-inner{width:min(100%,1400px);height:100%;margin:0 auto;display:flex;align-items:center;gap:22px}.brand{width:220px;color:var(--mh-text-strong);font-size:21px;letter-spacing:0}.side-menu{position:fixed;z-index:150;top:96px;bottom:96px;left:max(24px,calc(50vw - 700px));width:220px;padding:12px;border:1px solid var(--mh-border);border-radius:18px;background:var(--mh-panel-glass);box-shadow:0 18px 42px var(--mh-page-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.side-menu .nav-links{display:grid;gap:6px}.side-menu .nav-item{position:relative;height:44px;justify-content:flex-start;padding:0 14px 0 18px;border-radius:14px;color:var(--mh-muted);font-size:14px}.side-menu .nav-item:before{content:"";position:absolute;left:7px;top:11px;bottom:11px;width:3px;border-radius:999px;background:transparent}.side-menu .nav-item:hover{background:var(--mh-control);color:var(--mh-text-strong)}.side-menu .nav-item.active{background:color-mix(in srgb,var(--mh-accent) 16%,transparent);color:var(--mh-text-strong)}.side-menu .nav-item.active:before{background:linear-gradient(180deg,var(--mh-accent),var(--mh-accent-2))}.nav-svg{width:18px;height:18px}.user-area{margin-left:auto}.ctrl-btn,.logout-btn,.register-btn,.theme-toggle-btn,.toast-btn{border:1px solid var(--mh-border);background:var(--mh-control);color:var(--mh-text)}.theme-toggle-btn{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease}.theme-toggle-btn svg{width:18px;height:18px}.logout-btn:hover,.register-btn:hover,.theme-toggle-btn:hover,.user-btn:hover{background:var(--mh-control-hover);color:var(--mh-text-strong)}.user-btn{color:var(--mh-text);border:1px solid transparent}.avatar-initial-sm,.login-btn,.toast-btn.primary{background:linear-gradient(135deg,var(--mh-accent),var(--mh-accent-2));color:#fff}.main-area{width:min(100%,1400px);height:calc(100dvh - 72px);margin:72px auto 0;padding-left:252px;display:flex;gap:22px}.main-area.has-player{padding-bottom:72px}.content-panel{padding:24px;color:var(--mh-text)}.content-panel>*{max-width:100%}.lyric-panel{flex:0 0 clamp(336px,27vw,392px);margin:24px 24px 24px 0;padding:20px 20px 16px;border:1px solid var(--mh-border);border-radius:18px;background:var(--mh-panel);color:var(--mh-text);box-shadow:0 18px 40px var(--mh-page-shadow);display:flex;flex-direction:column;gap:12px;min-height:0}.bar-cover,.lyric-cover{box-shadow:0 12px 24px var(--mh-page-shadow)}.lyric-panel .lyric-container{min-height:0}.app-shell.theme-light .lyric-panel .lyric-container{--lyric-text:rgba(16,24,40,.72);--lyric-text-subtle:rgba(71,84,103,.72);--lyric-text-active:#101828;--lyric-active-shadow:0 1px 0 hsla(0,0%,100%,.65);--lyric-empty:#667085;--lyric-scrollbar:rgba(15,23,42,.16);--lyric-scrollbar-hover:rgba(15,23,42,.28)}.cover-default,.cover-default-sm{background:radial-gradient(circle at 25% 20%,color-mix(in srgb,var(--mh-accent) 45%,transparent),transparent 36%),linear-gradient(135deg,var(--mh-panel-strong),var(--mh-bg-soft))}.bar-title,.lyric-sheet-title,.now-title{color:var(--mh-text-strong)}.bar-artist,.bar-time,.now-artist{color:var(--mh-muted)}.player-bar{height:72px;background:var(--mh-panel-glass);border-top:1px solid var(--mh-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -16px 38px var(--mh-page-shadow)}.player-bar-inner{width:min(100%,1400px);height:100%;margin:0 auto;padding:0 24px}.bar-song{flex-basis:260px}.bar-cover{width:50px;height:50px;border-radius:12px}.ctrl-btn{transition:transform .2s ease,background .2s ease,color .2s ease}.ctrl-btn:hover{background:var(--mh-control-hover);color:var(--mh-text-strong);transform:translateY(-1px)}.play-btn{background:var(--mh-text-strong);color:var(--mh-bg)}.play-btn:hover{background:linear-gradient(135deg,var(--mh-accent),var(--mh-accent-2));color:#fff}.bar-track,.vol-popup-slider,.vol-slider{background:var(--mh-control-hover)}.bar-fill{background:linear-gradient(90deg,var(--mh-accent),var(--mh-accent-2))}.vol-popup-slider::-webkit-slider-thumb,.vol-slider::-webkit-slider-thumb{background:var(--mh-text-strong)}.lyric-sheet,.toast-content,.vol-popup{background:var(--mh-menu);border-color:var(--mh-border);color:var(--mh-text-strong);box-shadow:0 18px 42px var(--mh-page-shadow)}.site-footer{color:var(--mh-muted-soft)}.site-footer a{color:color-mix(in srgb,var(--mh-muted) 70%,transparent)}.site-footer.with-player{bottom:72px}.msg-container{top:84px}.msg-toast{border-radius:999px}.app-shell.theme-light .admin-page,.app-shell.theme-light .admin-page .modal h2,.app-shell.theme-light .admin-page h1,.app-shell.theme-light .admin-page h2,.app-shell.theme-light .admin-page h3,.app-shell.theme-light .admin-page strong{color:var(--mh-text-strong)}.app-shell.theme-light .admin-page .audio-preview,.app-shell.theme-light .admin-page .bucket-grid button,.app-shell.theme-light .admin-page .gen-card,.app-shell.theme-light .admin-page .image-preview,.app-shell.theme-light .admin-page .list-card,.app-shell.theme-light .admin-page .lyric-preview section,.app-shell.theme-light .admin-page .modal,.app-shell.theme-light .admin-page .panel,.app-shell.theme-light .admin-page .text-preview{background:var(--mh-panel);border-color:var(--mh-border);color:var(--mh-text-strong);box-shadow:0 16px 36px var(--mh-page-shadow)}.app-shell.theme-light .admin-page .code-table td,.app-shell.theme-light .admin-page .code-table th,.app-shell.theme-light .admin-page .metric,.app-shell.theme-light .admin-page .modal-head,.app-shell.theme-light .admin-page .pager,.app-shell.theme-light .admin-page .recent-row,.app-shell.theme-light .admin-page .table-row{border-color:var(--mh-border)}.app-shell.theme-light .admin-page .code-table th,.app-shell.theme-light .admin-page .empty,.app-shell.theme-light .admin-page .modal-head p,.app-shell.theme-light .admin-page .pager span,.app-shell.theme-light .admin-page .preview-meta span,.app-shell.theme-light .admin-page .preview-state,.app-shell.theme-light .admin-page .result-tip,.app-shell.theme-light .admin-page .status,.app-shell.theme-light .admin-page .table-head,.app-shell.theme-light .admin-page em,.app-shell.theme-light .admin-page p,.app-shell.theme-light .admin-page span{color:var(--mh-muted)}.app-shell.theme-light .admin-page input{background:var(--mh-field);border-color:var(--mh-border);color:var(--mh-text-strong)}.app-shell.theme-light .admin-page input::-moz-placeholder{color:var(--mh-muted-soft)}.app-shell.theme-light .admin-page input::placeholder{color:var(--mh-muted-soft)}.app-shell.theme-light .admin-page .filter-btn,.app-shell.theme-light .admin-page .nav-btn,.app-shell.theme-light .admin-page .pager button,.app-shell.theme-light .admin-page .row-link,.app-shell.theme-light .admin-page a,.app-shell.theme-light .admin-page button{background:var(--mh-control);border-color:var(--mh-border);color:var(--mh-text)}.app-shell.theme-light .admin-page .bucket-grid button.active,.app-shell.theme-light .admin-page .bucket-tabs button.active,.app-shell.theme-light .admin-page .filter-btn.active,.app-shell.theme-light .admin-page .filter-btn:hover,.app-shell.theme-light .admin-page .nav-btn:hover,.app-shell.theme-light .admin-page .row-link:hover,.app-shell.theme-light .admin-page a:hover,.app-shell.theme-light .admin-page button:hover{background:var(--mh-control-hover);color:var(--mh-text-strong)}.app-shell.theme-light .admin-page .gen-btn{background:linear-gradient(135deg,var(--mh-accent),var(--mh-accent-2));color:#fff}.app-shell.theme-light .admin-page .code-chip,.app-shell.theme-light .admin-page .td-code{color:#5b21b6}.app-shell.theme-light .admin-page .code-chip{background:rgba(91,33,182,.08);border-color:rgba(91,33,182,.18)}.app-shell.theme-light .admin-page .danger,.app-shell.theme-light .admin-page .preview-state.error{color:#b42318}.app-shell.theme-light .admin-page .badge.used{background:var(--mh-control);color:var(--mh-muted)}@media (max-width:1120px){.brand{width:auto}.side-menu{width:78px}.side-menu .nav-item{justify-content:center;padding:0}.side-menu .nav-label{display:none}.main-area{padding-left:110px}}@media (max-width:767px){#app,body{background:var(--mh-bg)}.bg-layer,.bg-layer.mobile-dark-bg,.bg-layer.mobile-light-bg{background:linear-gradient(180deg,color-mix(in srgb,var(--mh-bg-soft) 72%,transparent),transparent 44%),var(--mh-bg)}.main-area.mobile-main{width:100%;height:100dvh;margin-top:0;padding-left:0;display:block}.main-area.mobile-main .content-panel{padding:80px 16px 96px}}.spinner{width:32px;height:32px;border:3px solid hsla(0,0%,100%,.15);border-top-color:var(--mh-accent,#667eea);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(1turn)}}.retry-btn{margin-top:12px;padding:8px 24px;border-radius:18px;border:1px solid var(--mh-border-strong,hsla(0,0%,100%,.2));background:var(--mh-control,hsla(0,0%,100%,.08));color:var(--mh-text-strong,#fff);font-size:13px;cursor:pointer}.modal-mask{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center}.modal-box{background:var(--mh-menu,hsla(0,0%,8%,.95));border:1px solid var(--mh-border,hsla(0,0%,100%,.1));border-radius:14px;padding:24px;width:360px;backdrop-filter:blur(16px)}.modal-box h4{font-size:16px;color:var(--mh-text-strong,#fff);margin-bottom:16px}.modal-box p{color:var(--mh-muted,hsla(0,0%,100%,.8));margin-bottom:20px}.modal-box.small{width:300px;text-align:center}.modal-input{width:100%;padding:10px 14px;margin-bottom:12px;border:1px solid var(--mh-border,hsla(0,0%,100%,.12));border-radius:10px;background:var(--mh-field,hsla(0,0%,100%,.06));color:var(--mh-text-strong,#fff);font-size:14px;outline:none}.modal-input::-moz-placeholder{color:var(--mh-muted-soft,hsla(0,0%,100%,.35))}.modal-input::placeholder{color:var(--mh-muted-soft,hsla(0,0%,100%,.35))}.modal-actions{display:flex;gap:10px;justify-content:flex-end}@media (max-width:768px){.modal-box{width:calc(100% - 32px);max-width:360px;padding:20px}.modal-box.small{width:calc(100% - 32px);max-width:300px}}