/* Music player adapter — complete skin; native playback and data logic stay untouched. */
html[data-music-theme]{--bg-primary:var(--ui-page);--bg-sidebar:var(--ui-surface);--bg-card:var(--ui-surface);--bg-hover:var(--ui-surface-subtle);--bg-elevated:var(--ui-surface-elevated);--primary:var(--ui-brand);--primary-hover:var(--ui-brand-hover);--primary-light:var(--ui-brand-soft);--text-primary:var(--ui-text);--text-secondary:var(--ui-text-secondary);--text-muted:var(--ui-muted);--border:var(--ui-border);--border-light:var(--ui-border-strong);--radius:var(--ui-radius);--radius-lg:var(--ui-radius-lg);--radius-xl:calc(var(--ui-radius) * 2);--shadow:var(--ui-shadow-lg);--shadow-sm:var(--ui-shadow-sm);--transition:var(--ui-motion) var(--ui-ease-out);--sidebar-width:248px;--player-height:118px}
html[data-music-theme] body{font-family:var(--ui-font);background:var(--ui-page);color:var(--ui-text);background-image:radial-gradient(circle at 88% -12%,color-mix(in srgb,var(--ui-brand) 10%,transparent),transparent 32rem)}
html[data-music-theme] ::selection{background:color-mix(in srgb,var(--ui-brand) 28%,transparent)}
html[data-music-theme] ::-webkit-scrollbar{width:8px;height:8px}html[data-music-theme] ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ui-muted) 58%,transparent);border:2px solid transparent;border-radius:99px;background-clip:padding-box}html[data-music-theme] ::-webkit-scrollbar-thumb:hover{background-color:var(--ui-border-strong)}
/* Frame and navigation */
html[data-music-theme] .app-layout{grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:transparent}
html[data-music-theme] .sidebar{position:relative;isolation:isolate;padding:18px 12px 12px;border-right:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-surface) 92%,transparent);box-shadow:14px 0 38px color-mix(in srgb,var(--ui-ink) 3%,transparent)}
html[data-music-theme] .sidebar::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(160deg,color-mix(in srgb,var(--ui-brand) 7%,transparent),transparent 40%)}
html[data-music-theme] .sidebar .logo{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 8px 14px;color:var(--ui-ink);font-size:19px;font-weight:790;letter-spacing:-.5px}
html[data-music-theme] .sidebar .logo::before{content:"";width:31px;height:31px;flex:0 0 31px;border-radius:calc(var(--ui-radius) * .8);background:linear-gradient(145deg,var(--ui-brand),color-mix(in srgb,var(--ui-brand) 65%,var(--ui-accent)));box-shadow:0 8px 18px color-mix(in srgb,var(--ui-brand) 25%,transparent)}
html[data-music-theme] .login-status{margin:0 8px 14px;padding:8px 10px;gap:7px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);background:color-mix(in srgb,var(--ui-surface) 78%,transparent)}
html[data-music-theme] .login-status .dot{width:7px;height:7px;background:var(--ui-muted)}html[data-music-theme] .login-status .dot.online{background:var(--ui-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--ui-success) 15%,transparent)}html[data-music-theme] .login-status .dot.local-only{background:var(--ui-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ui-accent) 14%,transparent)}
html[data-music-theme] .sidebar-section{padding:0 4px 12px}html[data-music-theme] .sidebar-nav-scroll{gap:5px;padding:0 0 14px}
html[data-music-theme] .nav-item{min-height:42px;gap:11px;padding:0 12px;border:1px solid transparent;border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);font-size:14px;font-weight:600}html[data-music-theme] .nav-item i{font-size:15px}
html[data-music-theme] .nav-item:hover{color:var(--ui-text);background:var(--ui-surface-subtle);transform:translateX(2px)}html[data-music-theme] .nav-item.active{color:var(--ui-brand);border-color:color-mix(in srgb,var(--ui-brand) 16%,var(--ui-border));background:var(--ui-brand-soft)}html[data-music-theme] .nav-item.active::before{left:3px;width:3px;height:20px;border-radius:var(--ui-pill)}
html[data-music-theme] .sidebar-section-title{margin:8px 6px 7px;padding:0;color:var(--ui-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}html[data-music-theme] .sidebar-song-item{padding:8px;border:1px solid transparent;border-radius:var(--ui-radius-sm)}html[data-music-theme] .sidebar-song-item:hover{background:var(--ui-surface-subtle);border-color:var(--ui-border)}html[data-music-theme] .sidebar-song-item.active{background:var(--ui-brand-soft)}
/* Header and account controls */
html[data-music-theme] .top-search-bar{min-height:76px;padding:0 32px;gap:20px;border-bottom:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-surface) 90%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--ui-ink) 3%,transparent)}
html[data-music-theme] .top-search-bar .search-area{max-width:620px;gap:10px}html[data-music-theme] .top-search-bar .search-area input{min-height:42px;flex:1;padding:0 17px;border-color:var(--ui-border);border-radius:var(--ui-pill);color:var(--ui-text);background:var(--ui-surface-subtle);font-size:14px}html[data-music-theme] .top-search-bar .search-area input::placeholder{color:var(--ui-muted)}html[data-music-theme] .top-search-bar .search-area input:hover{border-color:var(--ui-border-strong)}html[data-music-theme] .top-search-bar .search-area input:focus{border-color:var(--ui-brand);box-shadow:var(--ui-focus);background:var(--ui-surface)}
html[data-music-theme] .top-search-bar .search-area button,html[data-music-theme] .login-top-btn{min-height:40px;padding:0 18px;border-radius:var(--ui-pill);background:var(--ui-brand);box-shadow:0 8px 18px color-mix(in srgb,var(--ui-brand) 18%,transparent);font-weight:700}html[data-music-theme] .top-search-bar .search-area button:hover,html[data-music-theme] .login-top-btn:hover{background:var(--ui-brand-hover);transform:translateY(-1px)}
html[data-music-theme] .top-bar-right{display:flex;align-items:center;gap:10px;margin-left:auto}.music-theme-trigger{width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--ui-border);border-radius:50%;color:var(--ui-text-secondary);background:var(--ui-surface);cursor:pointer;box-shadow:var(--ui-shadow-sm);transition:transform var(--ui-fast) var(--ui-ease-out),background var(--ui-fast),border-color var(--ui-fast),color var(--ui-fast),box-shadow var(--ui-fast)}.music-theme-trigger:hover{color:var(--ui-brand);border-color:color-mix(in srgb,var(--ui-brand) 45%,var(--ui-border));background:var(--ui-brand-soft);box-shadow:var(--ui-shadow-lg);transform:translateY(-1px)}.music-theme-trigger:active{transform:translateY(0) scale(var(--ui-press-scale))}.music-theme-trigger svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2}
html[data-music-theme] .user-dropdown-trigger{min-height:40px;padding:0 12px;border-color:var(--ui-border);border-radius:var(--ui-pill);color:var(--ui-text);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm)}html[data-music-theme] .user-dropdown-trigger:hover{border-color:var(--ui-brand);background:var(--ui-brand-soft)}html[data-music-theme] .user-dropdown-menu{border-color:var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface-elevated);box-shadow:var(--ui-shadow-lg)}html[data-music-theme] .user-dropdown-item:hover{color:var(--ui-text);background:var(--ui-surface-subtle)}
/* Content, cards and lists */
html[data-music-theme] .main-content{padding:30px 34px calc(var(--player-height) + 28px);background:transparent}html[data-music-theme] .main-content>div{width:min(100%,1280px);margin-inline:auto}html[data-music-theme] .section-title{margin:2px 0 18px;color:var(--ui-ink);font-size:20px;letter-spacing:-.3px}html[data-music-theme] .section-title::before{content:"";width:4px;height:22px;border-radius:var(--ui-pill);background:linear-gradient(var(--ui-brand),var(--ui-accent))}html[data-music-theme] .section-title .more-link{color:var(--ui-text-secondary)}html[data-music-theme] .section-title .more-link:hover{color:var(--ui-brand)}
html[data-music-theme] .banner-wrap{border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg)}html[data-music-theme] .banner-slide .banner-overlay{background:linear-gradient(to top,color-mix(in srgb,var(--ui-ink) 66%,transparent),transparent 65%)}html[data-music-theme] .category-tabs{gap:7px;padding:5px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:color-mix(in srgb,var(--ui-surface) 85%,transparent)}html[data-music-theme] .category-tab{min-height:32px;padding:0 13px;border:0;border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary)}html[data-music-theme] .category-tab:hover{color:var(--ui-text);background:var(--ui-surface-subtle)}html[data-music-theme] .category-tab.active{color:var(--ui-brand);background:var(--ui-brand-soft)}
html[data-music-theme] .card-grid{gap:18px}html[data-music-theme] .card{padding:8px;border:1px solid transparent;border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);transition:transform var(--ui-motion) var(--ui-ease-out),box-shadow var(--ui-motion) var(--ui-ease-out),border-color var(--ui-motion)}html[data-music-theme] .card:hover{border-color:color-mix(in srgb,var(--ui-brand) 26%,var(--ui-border));box-shadow:var(--ui-shadow-lg);transform:translateY(-3px)}html[data-music-theme] .card-cover{border-radius:calc(var(--ui-radius) * 1.15);box-shadow:none}html[data-music-theme] .card-info{padding:10px 4px 3px}html[data-music-theme] .card-title{color:var(--ui-text);font-weight:680}html[data-music-theme] .card-artist{color:var(--ui-text-secondary)}html[data-music-theme] .card-play-btn{background:var(--ui-brand);box-shadow:0 8px 20px color-mix(in srgb,var(--ui-brand) 34%,transparent)}html[data-music-theme] .card-play-btn:hover{background:var(--ui-brand-hover)}
html[data-music-theme] .playlist-grid{gap:18px}html[data-music-theme] .playlist-card{border-color:var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm)}html[data-music-theme] .playlist-card:hover{border-color:color-mix(in srgb,var(--ui-brand) 32%,var(--ui-border));box-shadow:var(--ui-shadow-lg)}html[data-music-theme] .playlist-card img{border-radius:calc(var(--ui-radius-lg) - 1px) calc(var(--ui-radius-lg) - 1px) 0 0}
html[data-music-theme] .song-list{padding:8px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:color-mix(in srgb,var(--ui-surface) 88%,transparent);box-shadow:var(--ui-shadow-sm)}html[data-music-theme] .song-item{min-height:66px;margin-bottom:3px;padding:10px 12px;border-radius:var(--ui-radius-sm);border-color:transparent}html[data-music-theme] .song-item:hover{border-color:var(--ui-border);background:var(--ui-surface-subtle)}html[data-music-theme] .song-item.playing{border-color:color-mix(in srgb,var(--ui-brand) 20%,var(--ui-border));background:var(--ui-brand-soft)}html[data-music-theme] .song-item .cover{border-radius:calc(var(--ui-radius) * .75);box-shadow:var(--ui-shadow-sm)}html[data-music-theme] .song-item .info .name{color:var(--ui-text);font-weight:620}html[data-music-theme] .song-item.playing .info .name,html[data-music-theme] .song-item.playing .index{color:var(--ui-brand)}
html[data-music-theme] .nav-breadcrumb,html[data-music-theme] .cloud-toolbar{padding:8px 0 14px;border-bottom-color:var(--ui-border);background:transparent}html[data-music-theme] .nav-bc-search,html[data-music-theme] .cloud-search{border-color:var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface)}
/* Persistent playback surface */
html[data-music-theme] .bottom-player{height:var(--player-height);padding:12px 28px;gap:22px;border-top:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-surface-elevated) 92%,transparent);box-shadow:0 -16px 42px color-mix(in srgb,var(--ui-ink) 12%,transparent);backdrop-filter:blur(18px)}html[data-music-theme] .bp-left{flex-basis:320px;width:320px}html[data-music-theme] .bp-cover{width:62px;height:62px;border-radius:calc(var(--ui-radius) * 1.1);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-sm)}html[data-music-theme] .bp-name{color:var(--ui-text);font-weight:700}html[data-music-theme] .bp-artist{color:var(--ui-text-secondary)}html[data-music-theme] .bp-controls{gap:9px}html[data-music-theme] .bp-controls button{color:var(--ui-text-secondary);transition:transform var(--ui-fast),background var(--ui-fast),color var(--ui-fast)}html[data-music-theme] .bp-controls button:hover{color:var(--ui-brand);background:var(--ui-brand-soft);transform:translateY(-1px)}html[data-music-theme] .bp-controls .bp-play-btn{width:44px;height:44px;background:var(--ui-brand);box-shadow:0 8px 18px color-mix(in srgb,var(--ui-brand) 27%,transparent)}html[data-music-theme] .bp-controls .bp-play-btn:hover{background:var(--ui-brand-hover);color:var(--ui-on-brand)}html[data-music-theme] .bp-progress-bar{height:6px;overflow:hidden;background:var(--ui-surface-subtle)}html[data-music-theme] .bp-progress-bar:hover{height:7px}html[data-music-theme] .bp-progress-bar .fill{background:linear-gradient(90deg,var(--ui-brand),var(--ui-accent))}html[data-music-theme] .bp-time{color:var(--ui-muted)}html[data-music-theme] .bp-right button{color:var(--ui-text-secondary);border:1px solid transparent;border-radius:50%;transition:transform var(--ui-fast),color var(--ui-fast),background var(--ui-fast)}html[data-music-theme] .bp-right button:hover{color:var(--ui-brand);background:var(--ui-brand-soft);transform:translateY(-1px)}
/* Floating surfaces */
html[data-music-theme] .quality-menu,html[data-music-theme] .sound-effect-menu,html[data-music-theme] .playlist-modal,html[data-music-theme] .login-modal,html[data-music-theme] .modal-content{border-color:var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface-elevated);box-shadow:var(--ui-shadow-lg)}html[data-music-theme] .quality-menu-header,html[data-music-theme] .sound-effect-menu-header{color:var(--ui-ink);border-bottom-color:var(--ui-border)}html[data-music-theme] .quality-option:hover,html[data-music-theme] .sound-effect-option:hover{background:var(--ui-surface-subtle)}html[data-music-theme] .quality-option.active,html[data-music-theme] .sound-effect-option.active{color:var(--ui-brand);background:var(--ui-brand-soft)}html[data-music-theme] button:focus-visible,html[data-music-theme] input:focus-visible{outline:0;box-shadow:var(--ui-focus)}html[data-music-theme] button{transition-timing-function:var(--ui-ease-out)}
/* Account modal lives in the player, rather than a separate login/register page. */
.music-account-overlay{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--ui-ink) 48%,transparent);backdrop-filter:blur(5px);animation:music-account-fade var(--ui-fast) var(--ui-ease-out)}.music-account-dialog{width:min(420px,100%);overflow:hidden;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);color:var(--ui-text);background:var(--ui-surface-elevated);box-shadow:var(--ui-shadow-lg);animation:music-account-enter var(--ui-motion) var(--ui-ease-out)}.music-account-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 12px}.music-account-head h2{margin:0;font-size:20px;letter-spacing:-.3px}.music-account-close{width:34px;height:34px;border:0;border-radius:50%;color:var(--ui-text-secondary);background:transparent;cursor:pointer;font-size:25px;line-height:1}.music-account-close:hover{color:var(--ui-text);background:var(--ui-surface-subtle)}.music-account-tabs{display:flex;gap:5px;margin:0 22px;padding:5px;border-radius:var(--ui-radius);background:var(--ui-surface-subtle)}.music-account-tab{min-height:34px;flex:1;border:0;border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);background:transparent;cursor:pointer;font:inherit;font-size:14px;font-weight:700}.music-account-tab.is-active{color:var(--ui-text);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm)}.music-account-form{padding:20px 22px 22px}.music-account-field{display:grid;gap:7px;margin:0 0 14px}.music-account-field label{color:var(--ui-text-secondary);font-size:13px;font-weight:700}.music-account-field input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);outline:0;color:var(--ui-text);background:var(--ui-surface);font:inherit}.music-account-field input:focus{border-color:var(--ui-brand);box-shadow:var(--ui-focus)}.music-account-submit{width:100%;min-height:42px;margin-top:4px;border:0;border-radius:var(--ui-radius-sm);color:var(--ui-on-brand);background:var(--ui-brand);cursor:pointer;font:inherit;font-weight:750;box-shadow:0 8px 18px color-mix(in srgb,var(--ui-brand) 20%,transparent)}.music-account-submit:hover{background:var(--ui-brand-hover);transform:translateY(-1px)}.music-account-submit:disabled{opacity:.58;cursor:wait;transform:none}.music-account-status{min-height:22px;margin-top:12px;text-align:center;color:var(--ui-text-secondary);font-size:13px}.music-account-status.is-error{color:var(--ui-danger)}.music-account-status.is-success{color:var(--ui-success)}.music-account-note{margin:12px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.6;text-align:center}@keyframes music-account-fade{from{opacity:0}to{opacity:1}}@keyframes music-account-enter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:768px){html[data-music-theme]{--player-height:72px}html[data-music-theme] .sidebar{padding:0}html[data-music-theme] .top-search-bar{min-height:58px;padding:0 14px}html[data-music-theme] .main-content{padding:18px 14px calc(var(--player-height) + 20px)}html[data-music-theme] .bottom-player{padding:7px 12px;gap:10px}html[data-music-theme] .bp-cover{width:48px;height:48px}html[data-music-theme] .bp-left{flex-basis:0;width:auto}html[data-music-theme] .card{padding:6px}}
