.songs-page{max-width:1400px;margin:0 auto;padding:2rem}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:3rem;margin:0 0 .5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.2rem;color:#888;margin:0}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem}.spinner{width:50px;height:50px;border:4px solid #333;border-top-color:#8de1ec;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading p{color:#888}.error-box{text-align:center;padding:2rem;background:#ff6b6b1a;border:1px solid #ff6b6b;border-radius:12px;margin:2rem auto;max-width:500px}.error-box p{color:#ff6b6b;margin:0 0 1rem}.featured-section{margin-bottom:4rem}.featured-section h2{font-size:1.8rem;color:#8de1ec;margin:0 0 1.5rem}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.featured-card{position:relative;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid #667eea;border-radius:16px;padding:2rem;text-decoration:none;transition:all .3s ease;overflow:hidden;min-height:200px;display:flex;flex-direction:column;justify-content:space-between}.featured-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #667eea4d;border-color:#8de1ec}.featured-card:hover .play-overlay{opacity:1}.featured-card h3{font-size:1.8rem;color:#8de1ec;margin:0 0 .5rem}.featured-card .artist{font-size:1.2rem;color:#aaa;margin:0 0 .25rem}.featured-card .album{font-size:1rem;color:#666;margin:0 0 1rem}.stem-count{font-size:.9rem;color:#888;margin-top:auto}.play-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.play-button{font-size:4rem;color:#fff}.all-songs-section{margin-top:4rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h2{font-size:1.8rem;color:#8de1ec;margin:0}.songs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.song-card{background:#1a1a1a99;border:1px solid #333;border-radius:12px;padding:1.5rem;transition:all .3s ease}.song-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 24px #667eea33}.card-header h3{font-size:1.3rem;color:#8de1ec;margin:0 0 .5rem}.card-header .artist{font-size:1rem;color:#aaa;margin:0}.meta{font-size:.9rem;color:#666;margin:.5rem 0 1rem}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #333}.stem-badge{font-size:.85rem;color:#888;background:#8de1ec1a;padding:.25rem .75rem;border-radius:12px}.card-actions{display:flex;gap:.5rem}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #444;border-radius:6px;text-decoration:none;font-size:1rem;transition:all .2s}.btn-icon:hover{border-color:#8de1ec;background:#8de1ec1a}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:5rem;margin-bottom:1rem}.empty-state h3{font-size:1.8rem;color:#8de1ec;margin:0 0 .5rem}.empty-state p{color:#888;margin:0 0 2rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-create{background:transparent;border:1px solid #667eea;color:#8de1ec}.btn-create:hover{background:#667eea1a;border-color:#8de1ec}@media (max-width: 768px){.page-header h1{font-size:2.5rem}.featured-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.songs-grid{grid-template-columns:1fr}}
