.guide-card.my-songs-card{max-width:900px;max-height:min(90vh,920px)}
.my-songs-card .my-songs-lead{font-size:.77rem;max-width:680px;line-height:1.6;margin-bottom:12px}
.my-songs-card .my-songs-tabs{flex-wrap:wrap}
.my-songs-card .my-songs-tabs button{font-size:.74rem;padding:7px 12px;min-height:34px}
.my-songs-card .my-songs-tools{margin-top:14px}
.my-songs-card .my-songs-search{max-width:280px;flex:1 1 220px;min-width:160px}
.my-songs-card .my-song{padding:8px 6px;gap:11px;border-bottom:1px solid rgba(255,255,255,.035)}
.my-songs-card .my-song-text strong{font-size:.83rem}
.my-songs-card .my-song-text small{font-size:.68rem;line-height:1.5}
.my-songs-card .my-song-actions{gap:7px}
.my-songs-scroll{display:contents}
.my-songs-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.my-song-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(255,255,255,.04);color:var(--txt);font-family:inherit;font-size:.7rem;font-weight:700;cursor:pointer;line-height:1.35;text-decoration:none;white-space:nowrap}
.my-song-button:hover{border-color:rgba(163,145,255,.6);background:rgba(149,126,255,.09)}
.my-song-button:disabled{opacity:.45;cursor:default}
.my-song-button.is-primary{background:rgba(144,105,255,.22);border-color:rgba(161,133,255,.45)}
.my-songs-card .my-song-fav{width:34px;height:34px;flex:none}
.my-songs-empty .my-song-button{margin-top:8px}

/* Seguir al artista de una canción y «Suena ahora» dentro de la fila */
.my-song-follow{max-width:170px;min-height:30px;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px dashed rgba(255,255,255,.18);border-radius:999px;background:none;color:var(--txt-dim);font:inherit;font-size:.66rem;font-weight:700;cursor:pointer;opacity:0;transition:opacity .15s}
.my-song:hover .my-song-follow,.my-song-follow:focus-visible{opacity:1}
.my-song-follow:hover{color:var(--txt);border-color:rgba(255,200,90,.6)}
.my-song-star{color:#ffc95a;font-weight:900}
.my-song-live{justify-self:start;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-top:3px;padding:3px 10px 3px 8px;border:1px solid rgba(46,224,106,.4);border-radius:999px;background:rgba(46,224,106,.1);color:#7af5a3;font:inherit;font-size:.66rem;font-weight:800;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-song-live:hover{background:rgba(46,224,106,.18)}
.my-song-live i,.my-watch-live strong i{flex:none;width:7px;height:7px;border-radius:50%;background:#2ee06a;box-shadow:0 0 0 0 rgba(46,224,106,.6);animation:mySongPulse 1.8s infinite}
@keyframes mySongPulse{70%{box-shadow:0 0 0 6px rgba(46,224,106,0)}100%{box-shadow:0 0 0 0 rgba(46,224,106,0)}}
.my-song.is-live{background:rgba(46,224,106,.04)}
.my-song-followed{align-self:center;font-size:.72rem;color:#ffc95a;font-weight:700}

/* Panel derecho de escritorio: seguir al artista de lo que suena */
.now-panel-artist{display:flex;width:fit-content;align-items:center;max-width:100%;margin-top:9px;padding:4px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px dashed rgba(255,255,255,.2);border-radius:999px;background:none;color:var(--txt-dim);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}
.now-panel-artist:hover{color:#ffd77f;border-color:rgba(255,200,90,.6)}
.now-panel-artist.is-on{border-style:solid;border-color:rgba(255,200,90,.35);color:#ffd77f;cursor:default}
.now-panel-artist:focus-visible{outline:2px solid #b5a0ff;outline-offset:2px}

/* Cabecera: lo tuyo que suena ahora, tu artista y los avisos */
.my-songs-watch{display:grid;gap:10px;flex:none}
.my-watch-live{padding:10px 12px;border:1px solid rgba(46,224,106,.35);border-radius:13px;background:rgba(46,224,106,.07)}
.my-watch-live>strong{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:#7af5a3;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.my-watch-live ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.my-watch-live li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center}
.my-watch-live-art{position:relative;width:40px;height:40px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#2a2f5a,#4a2a6a);color:rgba(255,255,255,.55)}
.my-watch-live-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.my-watch-live-art i{font-style:normal}
.my-watch-live-text{display:grid;min-width:0}
.my-watch-live-text b{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-watch-live-text small{font-size:.66rem;color:var(--txt-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-watch-hearing{font-size:.66rem;color:#7af5a3;font-weight:700}
.my-watch-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.my-watch-artist,.my-watch-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.03)}
.my-watch-artist.is-set{border-color:rgba(255,200,90,.3);background:rgba(255,200,90,.06)}
.my-watch-label{flex-basis:100%;font-size:.62rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-dim)}
.my-watch-artist>strong{flex:1;min-width:0;font-size:.92rem;color:#ffd77f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-watch-artist-row{flex-basis:100%;display:flex;gap:8px}
.my-watch-artist input{flex:1;min-width:0;height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:#14192b;color:var(--txt);font:inherit;font-size:.78rem}
.my-watch-artist input:focus{outline:0;border-color:rgba(161,133,255,.7)}
.my-watch-link{padding:4px 2px;border:0;background:none;color:var(--txt-dim);font:inherit;font-size:.68rem;text-decoration:underline;cursor:pointer}
.my-watch-link:hover{color:var(--txt)}
.my-watch-toggle{flex-wrap:nowrap;cursor:pointer}
.my-watch-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.my-watch-switch{flex:none;position:relative;width:38px;height:22px;border-radius:999px;background:rgba(255,255,255,.18);transition:background .15s}
.my-watch-switch::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.my-watch-toggle input:checked+.my-watch-switch{background:#8f6bff}
.my-watch-toggle input:checked+.my-watch-switch::after{transform:translateX(16px)}
.my-watch-toggle input:focus-visible+.my-watch-switch{outline:2px solid #b5a0ff;outline-offset:2px}
.my-watch-toggle>span:last-child{display:grid;gap:2px;min-width:0}
.my-watch-toggle b{font-size:.78rem}
.my-watch-toggle small{font-size:.66rem;line-height:1.45;color:var(--txt-dim)}

.my-song-review{margin-top:18px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:10px}
.my-song-review summary{font-size:.68rem;color:var(--txt-dim);cursor:pointer;line-height:1.6}
.my-song-review ul{list-style:none;padding:0}
.my-song-review .my-song-follow{display:none}
.my-songs-storage[hidden]{display:none!important}
.my-songs-storage{font-size:.71rem;line-height:1.5;color:#efc4a8}
.my-songs-card button:focus-visible,.my-songs-card a:focus-visible,.my-songs-card input:focus-visible,.my-songs-card summary:focus-visible{outline:2px solid #b5a0ff;outline-offset:2px}

/* Aviso de Onda: «suena una de tus guardadas / tu artista». Toda la tarjeta
   lleva a la emisora. En escritorio, abajo a la derecha; en el móvil, justo
   encima del reproductor, al alcance del pulgar. */
.song-alert[hidden]{display:none!important}
.song-alert{position:fixed;right:24px;bottom:118px;z-index:1200;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;width:min(360px,calc(100vw - 48px));padding:12px;border:1px solid rgba(161,133,255,.4);border-radius:16px;background:#171d36;color:var(--txt);box-shadow:0 18px 40px rgba(0,0,0,.45);cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}
.song-alert.show{opacity:1;transform:none}
.song-alert:hover{border-color:rgba(161,133,255,.7)}
.song-alert-art{position:relative;width:52px;height:52px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#2a2f5a,#4a2a6a)}
.song-alert-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.song-alert-art i{font-style:normal;font-size:1.2rem}
.song-alert-text{display:grid;gap:2px;min-width:0}
.song-alert-text small{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden;font-size:.64rem;color:#c2b4f7;font-weight:700}
.song-alert-text small img{width:16px;height:16px;border-radius:50%;object-fit:cover}
.song-alert-text strong{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.song-alert-text>span{font-size:.7rem;color:var(--txt-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.song-alert-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}
.song-alert-actions button{min-height:32px;padding:0 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05);color:var(--txt);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.song-alert-actions button.is-primary{background:rgba(144,105,255,.3);border-color:rgba(161,133,255,.55)}
.song-alert-actions button:focus-visible{outline:2px solid #b5a0ff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.song-alert{transition:none}.my-song-live i,.my-watch-live strong i{animation:none}}
@media(max-width:1023px){
  .song-alert{left:10px;right:10px;bottom:calc(14px + env(safe-area-inset-bottom));width:auto;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;padding:9px 9px 9px 10px;border-radius:14px}
  body:has(.player.show) .song-alert{bottom:calc(var(--player-h) + 14px + env(safe-area-inset-bottom))}
  body.np-open .song-alert{top:calc(10px + env(safe-area-inset-top));bottom:auto}
  .song-alert-art{width:46px;height:46px}
  .song-alert-actions{grid-column:auto;gap:4px}
  .song-alert-actions button{min-height:44px;padding:0 14px}
  .song-alert-actions [data-song-alert-close]{width:36px;padding:0;border:0;background:none;color:var(--txt-dim);font-size:1.1rem}
}
@media(max-width:360px){.song-alert-actions [data-song-alert-play] span{display:none}}

/* ---------- Móvil y tableta ---------- */
/* Botón ♪ en el hueco entre el logo y Listas. A 381-400 px Listas pierde su
   icono (como ya hacía por debajo de 380) para que el ♪ quepa sin apretar;
   a 340 px o menos no hay sitio y se entra desde el reproductor. */
.my-songs-btn{display:none}
@media(max-width:1023px){
  .my-songs-btn{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;cursor:pointer;transition:background .15s}
  .my-songs-btn:active{transform:scale(.96)}
  .my-songs-btn svg{width:19px;height:19px}
  .my-songs-btn:focus-visible{outline:2px solid #b5a0ff;outline-offset:2px}
}
@media(max-width:400px){.sport-mode-btn{gap:0}.sport-mode-btn svg{display:none}}
@media(max-width:340px){.my-songs-btn{display:none}}

.my-song-more-btn{display:none}
.my-songs-modal.is-mobile{padding:0;place-items:stretch}
.my-songs-modal.is-mobile .guide-card.my-songs-card{width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;padding:calc(16px + env(safe-area-inset-top)) 14px calc(10px + env(safe-area-inset-bottom))}
.my-songs-modal.is-mobile .guide-close{top:calc(12px + env(safe-area-inset-top));right:12px;width:40px;height:40px}
.my-songs-modal.is-mobile .guide-head{font-size:1.08rem;margin-bottom:12px}
.my-songs-modal.is-mobile .my-songs-lead{display:none}
/* En el móvil la cabecera se desplaza con la lista y las pestañas quedan fijas. */
.my-songs-modal.is-mobile .my-songs-scroll{display:block;flex:1;min-height:0;overflow-y:auto;margin:0 -14px;padding:0 14px;overscroll-behavior:contain}
.my-songs-modal.is-mobile .my-songs-watch{gap:8px}
.my-songs-modal.is-mobile .my-watch-live{padding:8px 10px}
.my-songs-modal.is-mobile .my-watch-live li:nth-child(n+2){display:none}
.my-songs-modal.is-mobile .my-watch-artist [data-my-song-play]{display:none}
.my-songs-modal.is-mobile .my-watch-box{grid-template-columns:1fr;gap:8px}
.my-songs-modal.is-mobile .my-watch-artist.is-set .my-watch-label{flex-basis:auto}
.my-songs-modal.is-mobile .my-song-live span{display:none}
.my-songs-modal.is-mobile .my-watch-artist,.my-songs-modal.is-mobile .my-watch-toggle{padding:9px 11px}
.my-songs-modal.is-mobile .my-watch-artist input{font-size:16px;height:40px}
.my-songs-modal.is-mobile .my-watch-artist .my-song-button,.my-songs-modal.is-mobile .my-watch-live .my-song-button{min-height:40px}
.my-songs-modal.is-mobile .my-watch-link{min-height:40px}
.my-songs-modal.is-mobile .my-songs-tools{position:sticky;top:0;z-index:3;flex-wrap:nowrap;gap:8px;margin:2px -14px 0;padding:8px 14px;background:#131b33}
.my-songs-modal.is-mobile .my-songs-tabs{flex:none;flex-wrap:nowrap}
.my-songs-modal.is-mobile .my-songs-tabs button{flex:none;min-height:40px;font-size:.76rem;padding:0 11px}
.my-songs-modal.is-mobile .my-songs-search{max-width:none;flex:1;min-width:0;padding:0 10px}
.my-songs-modal.is-mobile .my-songs-search input{font-size:16px;height:40px}
.my-songs-modal.is-mobile .my-songs-body{flex:none;overflow:visible;margin:2px 0 0;padding:0 0 12px}
.my-songs-modal.is-mobile .my-songs-day h4{top:56px;background:linear-gradient(#131b33 70%,rgba(19,27,51,0))}
.my-songs-modal.is-mobile .my-song{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:8px 0;cursor:pointer}
.my-songs-modal.is-mobile .my-song:hover{background:none}
.my-songs-modal.is-mobile .my-song.is-open{background:rgba(255,255,255,.04);border-radius:12px}
.my-songs-modal.is-mobile .my-song-art{width:40px;height:40px}
.my-songs-modal.is-mobile .my-song-text strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}
.my-songs-modal.is-mobile .my-song-live{min-height:30px;font-size:.7rem}
.my-songs-modal.is-mobile .my-song-actions{gap:2px}
.my-songs-modal.is-mobile .my-song-actions .my-song-station,.my-songs-modal.is-mobile .my-song-actions .my-song-follow{display:none}
.my-songs-modal.is-mobile .my-song-fav{width:38px;height:38px}
.my-songs-modal.is-mobile .my-song-actions .song-mini{width:38px;height:38px}
.my-songs-modal.is-mobile .my-song-more-btn{display:grid;place-items:center;width:30px;height:38px;padding:0;border:0;background:none;color:var(--txt-dim);font-size:.9rem;cursor:pointer}
.my-song-more{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;padding:2px 0 4px 50px}
.my-songs-modal.is-mobile .my-song-more .my-song-button{min-height:40px;font-size:.74rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:360px){
  .my-songs-modal.is-mobile .my-song{grid-template-columns:minmax(0,1fr) auto}
  .my-songs-modal.is-mobile .my-song-art{display:none}
  .my-song-more{padding-left:0}
  .my-songs-modal.is-mobile .my-songs-tabs button{padding:0 9px;font-size:.72rem}
}

/* Reproductor a pantalla completa: ♥ junto a YouTube y Spotify, y acceso a la lista. */
.np-song-actions{flex-wrap:wrap}
.song-btn.save{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1)}
.song-btn.save i{font-style:normal;font-size:1.05rem;line-height:1}
.song-btn.save[aria-pressed="true"]{border-color:rgba(255,93,177,.6);background:rgba(255,93,177,.22)}
.song-btn.save[aria-pressed="true"] i{color:#ff7cc4}
@media(max-width:480px){
  .np-song-actions{gap:8px}
  .np-song-actions .song-btn{padding:9px 14px}
  .song-btn.save{width:40px;padding:0;justify-content:center}
  .song-btn.save span{display:none}
}
.np-history .hist-label{display:flex;align-items:center;gap:8px;min-height:32px}
.hist-all{margin-left:auto;min-height:32px;padding:0 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:.74rem;font-weight:700;letter-spacing:0;text-transform:none;cursor:pointer}
.hist-all b{margin-left:2px;color:var(--txt-dim)}
.hist-all:focus-visible{outline:2px solid #b5a0ff;outline-offset:2px}
/* La barra del reproductor móvil oculta .song-mini; aquí son la razón de ser de la lista. */
.my-songs-modal.is-mobile .my-song-actions .song-mini{display:grid}
.my-songs-modal.is-mobile .my-songs-tools,.my-songs-modal.is-mobile .my-songs-tabs{min-width:0}
