:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg-primary: #0a0a0a;--bg-secondary: #121212;--bg-card: #181818;--bg-highlight: #282828;--bg-active: #333;--accent: #1db954;--accent-hover: #1ed760;--text-primary: #fff;--text-secondary: #b3b3b3;--text-dim: #6a6a6a;--border: rgba(255,255,255,.08);--sidebar-w: 240px;--player-h: 90px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--bg-highlight)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-primary);margin-top:-4px;opacity:0;transition:opacity .15s}input[type=range]:hover::-webkit-slider-thumb{opacity:1}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--bg-highlight)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text-primary);border:none}.app-layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:1fr var(--player-h);height:100vh;overflow:hidden}.sidebar{grid-row:1;background:#000;padding:0;display:flex;flex-direction:column;overflow:hidden}.sidebar-logo{padding:24px 24px 18px;font-size:1.4rem;font-weight:800;letter-spacing:-.04em;color:var(--accent);display:flex;align-items:center;gap:8px}.sidebar-logo svg{width:28px;height:28px;fill:var(--accent)}.sidebar-nav{padding:0 8px;list-style:none}.sidebar-nav li{display:flex;align-items:center;gap:16px;padding:10px 16px;border-radius:6px;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s}.sidebar-nav li:hover{color:var(--text-primary)}.sidebar-nav li.active{color:var(--text-primary);background:var(--bg-highlight)}.sidebar-nav li svg{width:24px;height:24px;flex-shrink:0;fill:currentColor}.sidebar-divider{height:1px;background:var(--border);margin:12px 24px}.sidebar-section-title{padding:8px 24px 4px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.sidebar-playlists{flex:1;overflow-y:auto;padding:0 8px 16px;list-style:none}.sidebar-playlists li{padding:8px 16px;border-radius:6px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-playlists li:hover{color:var(--text-primary)}.sidebar-playlists li.active{color:var(--accent);font-weight:600}.main-content{grid-row:1;background:linear-gradient(180deg,#1a1a2e 0%,var(--bg-primary) 340px);overflow-y:auto;padding:0}.main-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:#0a0a0a99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.nav-arrows{display:flex;gap:8px}.nav-arrows button{width:32px;height:32px;border-radius:50%;background:#00000080;display:grid;place-items:center;color:var(--text-secondary);font-size:1.1rem;transition:color .15s}.nav-arrows button:hover{color:var(--text-primary)}.main-search{background:var(--bg-highlight);border:none;border-radius:24px;padding:8px 16px;color:var(--text-primary);font-size:.85rem;width:280px;outline:none;font-family:inherit}.main-search::placeholder{color:var(--text-dim)}.main-search:focus{box-shadow:0 0 0 2px var(--text-primary)}.hero{padding:40px 32px 24px;display:flex;align-items:flex-end;gap:24px}.hero-cover{width:200px;height:200px;border-radius:8px;box-shadow:0 8px 40px #00000080;flex-shrink:0;display:grid;place-items:center;font-size:4rem}.hero-info{display:flex;flex-direction:column;gap:8px}.hero-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hero-title{font-size:3rem;font-weight:800;letter-spacing:-.04em;line-height:1.1}.hero-meta{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary)}.hero-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--text-secondary)}.action-bar{display:flex;align-items:center;gap:24px;padding:24px 32px}.play-btn-large{width:56px;height:56px;border-radius:50%;background:var(--accent);display:grid;place-items:center;transition:transform .1s,background .15s;box-shadow:0 4px 12px #0000004d}.play-btn-large:hover{transform:scale(1.06);background:var(--accent-hover)}.play-btn-large svg{width:24px;height:24px;fill:#000;margin-left:2px}.shuffle-btn,.like-btn{color:var(--text-secondary);font-size:1.5rem;transition:color .15s}.shuffle-btn:hover,.like-btn:hover{color:var(--text-primary)}.shuffle-btn.active,.like-btn.liked{color:var(--accent)}.track-list{padding:0 16px 120px}.track-list-header{display:grid;grid-template-columns:40px 1fr 1fr 80px;gap:16px;padding:0 16px 8px;border-bottom:1px solid var(--border);margin-bottom:4px;font-size:.75rem;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.track-row{display:grid;grid-template-columns:40px 1fr 1fr 80px;gap:16px;padding:8px 16px;border-radius:4px;align-items:center;font-size:.875rem;transition:background .15s;cursor:pointer}.track-row:hover{background:#ffffff14}.track-row.playing{background:#1db9541a}.track-num{color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:center}.track-row.playing .track-num{color:var(--accent)}.track-title-col{display:flex;align-items:center;gap:12px;min-width:0}.track-art{width:40px;height:40px;border-radius:4px;flex-shrink:0;display:grid;place-items:center;font-size:1.1rem}.track-title-text{display:flex;flex-direction:column;min-width:0}.track-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-row.playing .track-name{color:var(--accent)}.track-artist{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-album{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-duration{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.player-bar{grid-column:1 / -1;grid-row:2;background:#181818;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;padding:0 16px;z-index:20}.player-track-info{display:flex;align-items:center;gap:14px;min-width:0}.player-art{width:56px;height:56px;border-radius:4px;flex-shrink:0;display:grid;place-items:center;font-size:1.5rem}.player-track-text{display:flex;flex-direction:column;min-width:0}.player-track-name{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-track-artist{font-size:.7rem;color:var(--text-secondary)}.player-controls{display:flex;flex-direction:column;align-items:center;gap:6px}.player-buttons{display:flex;align-items:center;gap:16px}.player-btn{color:var(--text-secondary);transition:color .15s;display:grid;place-items:center}.player-btn:hover{color:var(--text-primary)}.player-btn.active{color:var(--accent)}.player-btn svg{width:16px;height:16px;fill:currentColor}.play-pause-btn{width:36px;height:36px;border-radius:50%;background:var(--text-primary);display:grid;place-items:center;transition:transform .1s}.play-pause-btn:hover{transform:scale(1.08)}.play-pause-btn svg{width:16px;height:16px;fill:#000}.player-progress{display:flex;align-items:center;gap:8px;width:100%;max-width:600px}.player-time{font-size:.7rem;color:var(--text-dim);min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.progress-bar{flex:1;height:4px}.progress-bar:hover::-webkit-slider-runnable-track{background:var(--text-dim)}.progress-bar:hover::-webkit-slider-thumb{opacity:1;background:var(--accent)}.player-right{display:flex;align-items:center;justify-content:flex-end;gap:12px}.volume-control{display:flex;align-items:center;gap:6px}.volume-control svg{width:16px;height:16px;fill:var(--text-secondary)}.volume-bar{width:100px;height:4px}.volume-bar:hover::-webkit-slider-thumb{opacity:1;background:var(--accent)}.eq-bars{display:flex;align-items:flex-end;gap:2px;height:14px;width:14px}.eq-bar{width:3px;background:var(--accent);border-radius:1px;animation:eqBounce .6s ease-in-out infinite alternate}.eq-bar:nth-child(1){height:60%;animation-delay:0s}.eq-bar:nth-child(2){height:100%;animation-delay:.15s}.eq-bar:nth-child(3){height:40%;animation-delay:.3s}@keyframes eqBounce{0%{height:20%}to{height:100%}}.section-header{padding:24px 32px 12px;display:flex;align-items:baseline;justify-content:space-between}.section-title{font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.section-see-all{font-size:.8rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:color .15s}.section-see-all:hover{color:var(--text-primary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:24px;padding:0 32px 24px}.album-card{background:var(--bg-card);border-radius:8px;padding:16px;transition:background .2s;cursor:pointer;position:relative}.album-card:hover{background:var(--bg-highlight)}.album-card-art{width:100%;aspect-ratio:1;border-radius:6px;margin-bottom:12px;display:grid;place-items:center;font-size:3rem;position:relative}.album-card-play{position:absolute;bottom:8px;right:8px;width:40px;height:40px;border-radius:50%;background:var(--accent);display:grid;place-items:center;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;box-shadow:0 4px 12px #0006}.album-card:hover .album-card-play{opacity:1;transform:translateY(0)}.album-card-play svg{width:18px;height:18px;fill:#000;margin-left:2px}.album-card-title{font-size:.9rem;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card-desc{font-size:.8rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.app-layout{grid-template-columns:1fr}.sidebar{display:none}.hero-title{font-size:2rem}.hero-cover{width:140px;height:140px}.track-list-header,.track-row{grid-template-columns:32px 1fr 60px}.track-album{display:none}.player-bar{grid-template-columns:1fr 1fr;padding:8px 12px}.player-right{display:none}}
