/* ══════════ 歌词页 ══════════ */
.lyr{position:absolute;inset:0;z-index:70;display:flex;flex-direction:column;
  background:var(--bg);
  padding:calc(env(safe-area-inset-top) + 6px) 0 calc(env(safe-area-inset-bottom) + 18px)}
.lyr-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.lyr-bg img{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;
  filter:blur(90px) saturate(200%) brightness(.42);transform:scale(1.2)}
[data-theme="light"] .lyr-bg img{filter:blur(90px) saturate(160%) brightness(1.5);opacity:.62}
.lyr-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.12) 42%,rgba(0,0,0,.72) 100%)}
[data-theme="light"] .lyr-bg::after{background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.15) 45%,rgba(255,255,255,.8))}

.lyr-nav{display:flex;align-items:center;gap:8px;padding:0 14px 6px;position:relative;z-index:2}
.lyr-nav button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  color:var(--fg);background:rgba(120,120,128,.22);backdrop-filter:blur(14px);
  transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.lyr-nav button:active{transform:scale(.88)}
.lyr-nav button svg{width:20px;height:20px}
.lyr-nav .title{flex:1;text-align:center;font-size:13.5px;font-weight:600;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}

/* 封面 */
.lyr-cover-wrap{display:grid;place-items:center;padding:10px 0 6px;position:relative;z-index:2;
  transition:opacity .5s,transform .5s}
.lyr-cover{width:min(62vw,230px);aspect-ratio:1;border-radius:22px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.55);background:var(--cover);display:grid;place-items:center;color:var(--fg3)}
.lyr-cover img{width:100%;height:100%;object-fit:cover}
.lyr-cover.spin{animation:disc 20s linear infinite}
@keyframes disc{to{transform:rotate(360deg)}}

/* 歌词滚动区 */
.lyr-body{flex:1;overflow:hidden;position:relative;z-index:2;display:flex;align-items:center}
.lyr-scroll{width:100%;max-height:100%;overflow-y:auto;scroll-behavior:smooth;
  padding:32vh 24px;text-align:center;-webkit-overflow-scrolling:touch}
.lyr-scroll::-webkit-scrollbar{display:none}
.ll{font-size:19px;line-height:1.75;padding:9px 0;color:rgba(255,255,255,.42);
  transition:color .35s,transform .35s cubic-bezier(.22,1,.36,1),font-size .35s;
  font-weight:500;letter-spacing:.02em}
[data-theme="light"] .ll{color:rgba(0,0,0,.4)}
.ll.on{color:#fff;font-size:23px;font-weight:700;transform:scale(1.02);
  text-shadow:0 2px 16px rgba(0,0,0,.5)}
[data-theme="light"] .ll.on{color:#000;text-shadow:0 2px 16px rgba(255,255,255,.8)}
.lyr-empty{text-align:center;color:rgba(255,255,255,.35);font-size:14px;padding:60px 0}
[data-theme="light"] .lyr-empty{color:rgba(0,0,0,.3)}

/* 进度 + 控制 */
.lyr-ctrl{padding:6px 26px 0;position:relative;z-index:2}
.lyr-prog{height:4px;border-radius:2px;background:rgba(255,255,255,.2);overflow:hidden;cursor:pointer;position:relative}
[data-theme="light"] .lyr-prog{background:rgba(0,0,0,.12)}
.lyr-prog>i{display:block;height:100%;background:#fff;transition:width .2s linear;border-radius:2px}
[data-theme="light"] .lyr-prog>i{background:#000}
.lyr-time{display:flex;justify-content:space-between;font-size:11.5px;color:rgba(255,255,255,.5);
  margin-top:6px;font-variant-numeric:tabular-nums}
[data-theme="light"] .lyr-time{color:rgba(0,0,0,.45)}
.lyr-btns{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:16px}
.lb{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:rgba(120,120,128,.24);backdrop-filter:blur(16px);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
[data-theme="light"] .lb{color:#000}
.lb:active{transform:scale(.88)}
.lb svg{width:24px;height:24px}
.lb.main{width:66px;height:66px;background:#fff;color:#000}
[data-theme="light"] .lb.main{background:#000;color:#fff}
.lb.main svg{width:28px;height:28px}

/* 歌词页进入动画 */
.lyr-enter-active{animation:lyrIn .4s cubic-bezier(.22,1,.36,1)}
.lyr-leave-active{animation:lyrIn .3s reverse}
@keyframes lyrIn{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
