@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d1d1f;background:#f5f5f7;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer;border:0}
.hidden{display:none!important}.muted{color:#86868b}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#86868b;margin:0 0 10px}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#fff 0,#f5f5f7 60%)}
.login-card{width:min(420px,100%);background:#fff;border:1px solid #e8e8ed;border-radius:28px;padding:42px;box-shadow:0 20px 70px #1d1d1f0d}
.brand-mark{width:48px;height:48px;border-radius:15px;background:#1d1d1f;color:white;display:grid;place-items:center;font-size:28px;margin-bottom:28px}.brand-mark.small{width:32px;height:32px;border-radius:10px;font-size:20px;margin:0}
.login-card h1{font-size:34px;letter-spacing:-1.5px;line-height:1.12;margin:0 0 12px}.login-card h1 span{color:#86868b}
form label{display:block;font-size:12px;font-weight:600;margin:20px 0 0}form input{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #d2d2d7;border-radius:12px;outline:none}form input:focus,.search:focus-within{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a}
.primary{background:#0071e3;color:#fff;border-radius:12px;padding:13px 18px;font-weight:600}.primary:hover{background:#0077ed}.full{width:100%;margin-top:24px}.message{font-size:12px;color:#c0392b;min-height:16px}
.app{min-height:calc(100vh - 92px);display:grid;grid-template-columns:240px 1fr;padding-bottom:20px}.sidebar{padding:28px 18px;border-right:1px solid #e5e5ea;display:flex;flex-direction:column;min-height:calc(100vh - 92px)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;margin:0 8px 48px}.nav-label{font-size:10px;letter-spacing:1.5px;color:#98989d;font-weight:700;margin:0 12px 12px}.nav-item{width:100%;text-align:left;padding:12px;border-radius:10px;background:transparent;color:#666;font-size:13px;margin:2px 0}.nav-item span{display:inline-block;width:26px;font-size:17px}.nav-item.active{background:#e8f2fd;color:#0066cc;font-weight:600}.sidebar-bottom{margin-top:auto}.storage-card{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e8e8ed;border-radius:14px;padding:12px;margin-bottom:14px}.storage-icon{font-size:22px;color:#0071e3}.storage-card strong,.storage-card small{display:block;font-size:11px}.storage-card small{color:#86868b;margin-top:4px}.text-button{background:transparent;color:#86868b;font-size:12px;padding:8px}
.main{padding:34px clamp(22px,5vw,72px) 60px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.topbar h2{font-size:27px;letter-spacing:-1px;margin:0}.top-actions{display:flex;gap:10px;align-items:center}.search{display:flex;align-items:center;gap:8px;background:white;border:1px solid #e5e5ea;border-radius:11px;padding:0 12px;height:42px;color:#86868b}.search input{border:0;outline:0;width:170px;background:transparent;font-size:12px}.upload-button{background:#1d1d1f;color:white;padding:12px 16px;border-radius:11px;font-size:12px;font-weight:600;cursor:pointer}
.welcome{min-height:220px;border-radius:22px;padding:32px 40px;background:linear-gradient(110deg,#1d2938,#354d66 65%,#72879a);color:white;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.welcome h1{font-size:38px;letter-spacing:-1.7px;line-height:1.08;margin:0 0 12px}.welcome p:last-child{color:#d7e0e9;font-size:13px}.eyebrow.light{color:#b8c7d6}.hero-note{font-size:180px;line-height:1;color:#ffffff18;transform:rotate(-12deg);margin-right:8%}
.section-heading{display:flex;align-items:center;justify-content:space-between;margin:34px 0 14px}.section-heading h3{margin:0;font-size:18px;letter-spacing:-.4px}.section-heading p{font-size:11px;margin:5px 0 0}.subtle-button{background:transparent;color:#6e6e73;font-size:11px}
.table-wrap{background:#fff;border:1px solid #e8e8ed;border-radius:16px;overflow:hidden}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:9px;letter-spacing:1px;color:#98989d;font-weight:600;padding:16px 14px;border-bottom:1px solid #eee}td{padding:11px 14px;border-bottom:1px solid #f0f0f2;font-size:12px;color:#555}tr:last-child td{border-bottom:0}tbody tr{cursor:pointer}tbody tr:hover{background:#f8f8fa}td.num,th.num{width:48px;text-align:center;color:#999}.track{display:flex;align-items:center;gap:12px}.track-cover{width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,#dce6ef,#9eafc0);display:grid;place-items:center;color:white;font-size:18px;flex:none}.track strong,.track small{display:block}.track strong{font-size:12px;color:#242426;font-weight:600}.track small{font-size:10px;color:#999;margin-top:4px}.row-actions{display:flex;gap:10px;justify-content:flex-end}.row-actions button{background:transparent;color:#888;font-size:16px}.empty-state{text-align:center;padding:54px 20px}.empty-icon{font-size:36px;color:#aab7c4}.empty-state h3{font-size:15px;margin:10px 0 6px}.empty-state p{font-size:12px;color:#86868b;margin:0 0 18px}.upload-inline{display:inline-block;font-size:11px;cursor:pointer}
.player{height:92px;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e5ea;display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;padding:12px 26px;z-index:5}.now-playing{display:flex;align-items:center;gap:10px;min-width:0}.cover-placeholder{width:48px;height:48px;border-radius:9px;background:linear-gradient(135deg,#dce6ef,#8298ad);display:grid;place-items:center;color:white;font-size:22px}.now-playing strong,.now-playing small{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-playing strong{font-size:11px}.now-playing small{font-size:10px;color:#999;margin-top:4px}.heart{background:transparent;color:#888;font-size:20px}.heart.liked{color:#e05270}.controls{max-width:520px;width:100%;justify-self:center}.control-buttons{display:flex;justify-content:center;align-items:center;gap:22px}.control-buttons button{background:transparent;color:#555;font-size:13px}.control-buttons .play-button{background:#1d1d1f;color:white;width:32px;height:32px;border-radius:50%;font-size:12px}.timeline{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:9px;color:#999}.timeline input,.volume input{width:100%;accent-color:#1d1d1f;height:3px}.volume{display:flex;align-items:center;gap:10px;justify-self:end;width:120px;color:#888}.toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);background:#1d1d1f;color:white;padding:11px 16px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:9}.toast.show{opacity:1}
@media(max-width:800px){.app{grid-template-columns:1fr}.sidebar{min-height:0;border-right:0;border-bottom:1px solid #e5e5ea;padding:14px 18px;display:block}.brand{margin:0 0 12px}.nav-label,.sidebar-bottom{display:none}.nav-item{width:auto;margin-right:5px;padding:9px}.main{padding:22px 16px 120px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.search{flex:1}.search input{width:100%}.welcome{min-height:180px;padding:26px}.welcome h1{font-size:30px}.hero-note{font-size:120px;margin:0}.table-wrap{overflow-x:auto}table{min-width:570px}.player{grid-template-columns:1fr 1.2fr;padding:10px 14px}.volume{display:none}.now-playing strong,.now-playing small{max-width:110px}}
