@import "https://fonts.googleapis.com/css2?family=Syne:wght@600;700&family=DM+Sans:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Syne:wght@600;700&family=DM+Sans:wght@400;500&display=swap";body{margin:0;font-family:Arial,sans-serif}.fondo{z-index:-1;background:#000;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.fondo img{aspect-ratio:1;object-fit:cover;opacity:.8;filter:blur(1.2px)brightness(.8);width:100%;transform:rotate(-6deg)}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;height:100vh;display:flex}.login-box{color:#fff;background:#000c;border-radius:10px;flex-direction:column;gap:10px;padding:30px;display:flex}.login-box input{border:none;border-radius:5px;padding:10px}.login-box button{color:#fff;cursor:pointer;background:#1db954;border:none;border-radius:5px;padding:10px}@keyframes mover{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes flotar{0%{transform:translateY(0)}to{transform:translateY(-60px)}}.fondo img:nth-child(4n){transform:rotate(8deg)scale(1.2)}.fondo img:nth-child(3n){transform:rotate(-10deg)scale(.8)}.fondo img:nth-child(5n){transform:rotate(5deg)scale(1)}.auth-bg{background:radial-gradient(at 20% 60%,#6b0f6e55 0%,#0000 55%),radial-gradient(at 80% 30%,#3a0a5e55 0%,#0000 50%),#0a0a0f;justify-content:center;align-items:center;min-height:100vh;font-family:DM Sans,sans-serif;display:flex}.auth-card{background:#111116;border:1px solid #ffffff12;border-radius:20px;flex-direction:column;align-items:center;gap:0;width:420px;padding:48px 40px;display:flex;box-shadow:0 32px 80px #0008}.auth-logo{background:linear-gradient(135deg,#c026d3,#e91e8c);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:24px;display:flex;box-shadow:0 0 28px #c026d355}.auth-title{color:#fff;margin-bottom:6px;font-family:Syne,sans-serif;font-size:26px}.auth-subtitle{color:#888;margin-bottom:28px;font-size:14px}.auth-tabs{background:#1c1c24;border-radius:10px;width:100%;margin-bottom:28px;padding:4px;display:flex}.auth-tab{cursor:pointer;color:#888;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:flex}.auth-tab.active{color:#0a0a0f;background:#fff;box-shadow:0 2px 8px #00000040}.auth-form{flex-direction:column;gap:16px;width:100%;display:flex}.auth-field label{color:#ccc;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.auth-field input{color:#fff;background:#1c1c24;border:1px solid #2a2a36;border-radius:10px;outline:none;width:100%;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s}.auth-field input:focus{border-color:#c026d3}.auth-field input::placeholder{color:#444}.auth-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#c026d3,#e91e8c);border:none;border-radius:10px;width:100%;margin-top:4px;padding:15px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;transition:opacity .2s,transform .1s;box-shadow:0 4px 20px #c026d340}.auth-btn:hover{opacity:.9;transform:translateY(-1px)}.auth-btn:active{transform:translateY(0)}.auth-forgot{color:#a855f7;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-top:8px;font-family:DM Sans,sans-serif;font-size:13px;text-decoration:underline}*{box-sizing:border-box;margin:0;padding:0}body{color:#fff;background:#0a0a0f;font-family:DM Sans,sans-serif}.app-layout{grid-template-columns:240px 1fr;min-height:100vh;padding-bottom:90px;display:grid}.sidebar{background:#0d0d14;border-right:1px solid #ffffff0d;flex-direction:column;gap:16px;width:240px;height:100vh;padding:24px 16px;display:flex;position:fixed;overflow-y:auto}.sidebar-logo{color:#fff;align-items:center;gap:10px;padding:8px 12px 20px;font-family:Syne,sans-serif;font-size:18px;font-weight:700;display:flex}.sidebar-logo-icon{background:linear-gradient(135deg,#c026d3,#e91e8c);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.sidebar-nav{flex-direction:column;gap:8px;display:flex}.sidebar-item,.sidebar-playlist,.sidebar-logout{color:#888;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;text-decoration:none;transition:all .18s;display:inline-flex;position:relative;overflow:hidden}.sidebar-item:hover,.sidebar-playlist:hover{color:#fff;background:#ffffff0d}.sidebar-item.active{color:#fff;background:#ffffff14;font-weight:500}.sidebar-loading,.sidebar-empty{color:#888;padding:10px 14px;font-size:13px}.player-like-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #888;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;margin-right:12px;font-size:18px;text-decoration:none;transition:all .2s;display:flex}.player-like-btn:hover{border-color:#fff}.player-like-btn.liked{background:#e91e8c;border-color:#e91e8c}.player-status-message{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;padding:10px 14px;font-size:13px;position:absolute;bottom:98px;right:40px}.playlist-menu-backdrop{z-index:20;position:fixed;inset:0}.playlist-menu{z-index:21;background:#111116;border:1px solid #ffffff14;border-radius:18px;width:280px;max-width:calc(100vw - 24px);padding:16px;position:fixed;box-shadow:0 24px 60px #00000059}.playlist-menu-title{color:#fff;margin-bottom:12px;font-weight:700}.playlist-menu-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.playlist-menu-item,.playlist-menu-create-btn{color:#fff;cursor:pointer;text-align:left;background:#1f1f27;border:1px solid #ffffff14;border-radius:14px;padding:10px 14px}.playlist-menu-item:hover,.playlist-menu-create-btn:hover{background:#272731}.playlist-menu-empty,.playlist-menu-note{color:#bbb;padding:10px 8px;font-size:13px}.playlist-menu-create{gap:8px;display:grid}.song-context-menu{z-index:30;background:#111116;border:1px solid #ffffff14;border-radius:18px;width:320px;max-width:calc(100vw - 20px);padding:18px;position:fixed;box-shadow:0 24px 60px #00000059}.song-context-title{color:#fff;margin-bottom:14px;font-weight:700}.song-context-actions{gap:10px;margin-bottom:14px;display:grid}.song-context-action,.song-context-create-btn,.song-context-playlist-button,.playlist-menu-item{text-align:left;color:#fff;cursor:pointer;background:#1f1f27;border:1px solid #ffffff14;border-radius:14px;width:100%;padding:12px 14px;transition:background .2s}.song-context-action:hover,.song-context-create-btn:hover,.song-context-playlist-button:hover,.playlist-menu-item:hover{background:#272731}.song-context-create-btn:disabled{opacity:.45;cursor:not-allowed}.song-album-link{color:#888;width:100%;text-decoration:none;display:inline-block}.song-album-link:hover{color:#bbb;text-decoration:underline}.song-context-divider{background:#ffffff14;height:1px;margin:16px 0}.song-context-subtitle{color:#bbb;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;font-size:11px}.song-context-search{color:#fff;background:#0d0d14;border:1px solid #ffffff1f;border-radius:14px;width:100%;margin-bottom:12px;padding:10px 12px}.song-context-playlists{gap:8px;max-height:220px;margin-bottom:16px;display:grid;overflow:auto}.playlist-menu-empty{color:#bbb;padding:10px 8px;font-size:13px}.song-context-create{gap:8px;display:grid}.song-context-create-label{color:#888;font-size:12px}.song-context-create-btn{color:#fff;background:#1f1f27;border:1px solid #ffffff14;border-radius:14px;padding:12px 14px}.playlist-menu-create-label{color:#888;font-size:12px}.playlist-menu-input{color:#fff;background:#0d0d14;border:1px solid #ffffff1f;border-radius:14px;width:100%;padding:10px 12px}.empty-state{color:#bbb;background:#111116;border:1px solid #ffffff14;border-radius:18px;padding:24px}.button-link,.playlist-card-link{color:#fff;background:#1f1f27;border:1px solid #ffffff14;border-radius:16px;padding:12px 18px;text-decoration:none;transition:background .2s;display:inline-flex}.button-link:hover,.playlist-card-link:hover{background:#272731}.playlist-header,.album-header{gap:18px;margin-bottom:32px;display:grid}.playlist-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.playlist-header-meta{flex-direction:column;gap:10px;display:flex}.playlist-owner-row{align-items:center;gap:8px;display:flex}.album-header{grid-template-columns:220px 1fr;align-items:center}.album-cover-large{object-fit:cover;border-radius:24px;width:220px}.album-type,.playlist-type{text-transform:uppercase;letter-spacing:.2em;color:#e91e8c;margin-bottom:8px;font-size:11px;display:inline-block}.album-artist,.playlist-owner{color:#bbb;font-size:14px}.playlist-delete-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:inline-flex}.playlist-delete-btn:hover{background:#1a1a25;border-color:#fff}.status-message{color:#fff;background:#ffffff0f;border-radius:16px;margin:0 0 20px;padding:12px 16px}.sidebar-logout{color:#666;margin-top:auto}.sidebar-logout:hover{color:#e91e8c;background:0 0}.home-hero{gap:24px;margin-bottom:40px;display:grid}.hero-label{color:#e91e8c;text-transform:uppercase;letter-spacing:.2em;margin-bottom:12px;font-size:12px;display:inline-block}.home-hero .page-title{margin-bottom:16px;font-family:Syne,sans-serif;font-size:42px}.page-description,.section-subtitle{color:#bbb;margin-bottom:0;line-height:1.45}.hero-facts{grid-template-columns:repeat(2,minmax(160px,1fr));gap:16px;display:grid}.hero-card{background:#111116;border:1px solid #ffffff0a;border-radius:18px;padding:22px}.hero-card-title{color:#888;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px;font-size:12px;display:block}.hero-card strong{color:#fff;font-size:32px;display:block}.featured-section .section-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.playlist-section{margin-top:40px}.playlist-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.playlist-card{color:#fff;cursor:pointer;text-align:left;background:#111116;border:1px solid #ffffff0a;border-radius:16px;padding:20px;transition:transform .2s,background .2s}.playlist-card:hover{background:#1a1a22;transform:translateY(-2px)}.main-content{grid-column:2;padding:40px;overflow-y:auto}.page-title{margin-bottom:32px;font-family:Syne,sans-serif;font-size:32px}.section-title{margin-bottom:10px;font-family:Syne,sans-serif;font-size:20px}.artist-header{margin-bottom:48px}.section-block{margin-bottom:40px}.song-list-header{color:#888;letter-spacing:.02em;text-transform:uppercase;grid-template-columns:40px 1fr 200px 80px;align-items:center;gap:16px;margin-bottom:8px;padding:10px 24px;font-size:12px;display:grid}.song-list-header span:last-child{justify-self:end}.song-row{cursor:pointer;border-radius:8px;grid-template-columns:40px 1fr 200px 80px;place-items:center start;gap:16px;padding:10px 24px;transition:background .15s;display:grid}.song-row span:last-child{justify-self:end}.song-title-cell{align-items:center;min-width:0;display:flex}.album-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:48px;display:grid}.album-card{cursor:pointer;background:#111116;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;transition:transform .2s,background .2s;display:flex;overflow:hidden}.album-card:hover{background:#1a1a22;transform:translateY(-4px)}.album-cover{aspect-ratio:1;object-fit:cover;width:100%}.album-info{flex-direction:column;gap:6px;padding:16px 14px 18px;display:flex}.album-title{color:#fff;min-height:40px;margin-bottom:0;font-size:14px;font-weight:600;line-height:1.3}.album-artist,.artist-link{color:#888;text-overflow:ellipsis;white-space:nowrap;font-size:12px;text-decoration:none;display:block;overflow:hidden}.artist-link:hover{color:#fff}.home-artist-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:48px;display:grid}.home-artist-card{text-align:center;background:#111116;border:1px solid #ffffff0a;border-radius:18px;flex-direction:column;align-items:center;gap:12px;padding:18px 14px;transition:transform .2s,background .2s;display:flex}.home-artist-card:hover{background:#1a1a22;transform:translateY(-3px)}.home-artist-image{object-fit:cover;border:2px solid #ffffff14;border-radius:50%;width:92px;height:92px}.artist-card-text{flex-direction:column;gap:6px;width:100%;display:flex}.home-artist-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.artist-badge{color:#888;font-size:12px}.song-list{flex-direction:column;gap:4px;display:flex}.song-row{cursor:pointer;border-radius:8px;grid-template-columns:40px 1fr 200px 80px;align-items:center;gap:16px;padding:10px 24px;transition:background .15s;display:grid}.song-title-cell{align-items:center;display:flex}.song-row .song-artist{display:none}.song-row span,.song-row .song-title-cell{min-height:20px}.song-album,.song-duration{color:#666;text-align:center;font-size:13px}.song-row:hover{background:#ffffff0d}.song-row.active{background:#c026d315}.song-row.active .song-title{color:#c026d3}.song-num{color:#555;text-align:center;font-size:14px}.song-title{font-size:14px;font-weight:500}.song-artist{color:#888;font-size:12px}.song-album{color:#666;font-size:13px}.song-duration{color:#666;text-align:right;font-size:13px}.player-bar{z-index:100;background:#0d0d14;border-top:1px solid #ffffff12;grid-template-columns:1fr 1fr 1fr;align-items:center;height:80px;padding:0 24px;display:grid;position:fixed;bottom:0;left:240px;right:0}.player-info{justify-content:flex-start;align-items:center;gap:12px;min-width:0;display:flex}.player-info>div{min-width:0}.player-cover{object-fit:cover;border-radius:8px;flex-shrink:0;width:48px;height:48px}.player-title{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:14px;font-weight:500;overflow:hidden}.player-artist{color:#888;font-size:12px}.player-center{flex-direction:column;align-items:center;gap:8px;display:flex}.player-controls{align-items:center;gap:16px;display:flex}.player-controls button{color:#888;cursor:pointer;background:0 0;border:none;font-size:16px;transition:color .15s}.player-controls button:hover{color:#fff}.player-play-btn{justify-content:center;align-items:center;width:36px;height:36px;display:flex;color:#fff!important;background:linear-gradient(135deg,#c026d3,#e91e8c)!important;border-radius:50%!important;font-size:14px!important}.player-progress{color:#666;align-items:center;gap:10px;font-size:12px;display:flex}.player-bar-track{background:#333;border-radius:2px;width:240px;height:3px}.player-bar-fill{background:linear-gradient(90deg,#c026d3,#e91e8c);border-radius:2px;width:40%;height:100%}.player-volume{color:#888;text-align:right;font-size:13px}.player-bar-track{cursor:pointer;background:#2a2a36;border-radius:2px;width:340px;height:4px;position:relative}.player-bar-track:hover{height:6px}.player-bar-fill{pointer-events:none;background:linear-gradient(90deg,#c026d3,#e91e8c);border-radius:2px;height:100%;transition:width .1s linear}.player-volume{justify-content:flex-end;align-items:center;gap:8px;display:flex}.volume-slider{-webkit-appearance:none;cursor:pointer;background:#2a2a36;border-radius:2px;outline:none;width:90px;height:4px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:12px;height:12px}.volume-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, #c026d3 0%, #c026d3 calc(var(--val,80) * 1%), #2a2a36 calc(var(--val,80) * 1%));border-radius:2px}.artists-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:48px;display:grid}.artist-card{text-align:center;color:#fff;background:#1a1a1f;border-radius:8px;padding:16px;text-decoration:none;transition:background .15s}.artist-card:hover{background:#2a2a36}.artist-image{object-fit:cover;border-radius:50%;width:120px;height:120px;margin-bottom:12px}.artist-name{font-size:16px;font-weight:500}.artist-link,.player-artist-link{color:#888;text-decoration:none;transition:color .15s,-webkit-text-decoration .15s,text-decoration .15s}.artist-link:hover,.player-artist-link:hover{color:#fff;text-decoration:underline}.artist-name-link{color:#fff;font-size:16px;font-weight:500;text-decoration:none;transition:-webkit-text-decoration .15s,text-decoration .15s}.artist-name-link:hover{text-decoration:underline}.artist-header{align-items:flex-end;gap:32px;margin-bottom:48px;display:flex}.artist-header-image{object-fit:cover;border-radius:8px;width:240px;height:240px}.artist-header-info{flex:1}.artist-header-name{margin-bottom:16px;font-size:48px;font-weight:700}.artist-about{color:#888;margin-bottom:24px;font-size:16px;line-height:1.5}.play-all-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#c026d3,#e91e8c);border:none;border-radius:24px;padding:12px 24px;font-size:16px;font-weight:500;transition:transform .15s}.play-all-btn:hover{transform:scale(1.05)}
