@keyframes ly-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}
:is(html:has(.music-wrap),body:has(.music-wrap)){height:auto;min-height:100dvh;overflow-y:auto}
body:has(.music-wrap){align-items:flex-start}
.music-wrap{max-width:880px;margin:0 auto;padding:2.6rem 1.25rem 5rem;font-family:Comic Code,ui-monospace,monospace}
.music-head{margin:0 0 1.6rem}
.music-head h1{color:var(--accent);letter-spacing:-.02em;margin:0 0 .2rem;font-size:clamp(1.7rem,5vw,2.4rem);transition:color .5s}
.music-head p{color:var(--text-muted);margin:0;font-size:.95rem}
.mdc{background:var(--bg-raised);border:1px solid var(--surface);border-radius:18px;grid-template-columns:132px 1fr;align-items:center;gap:1.1rem;padding:1.1rem;text-decoration:none;display:grid;position:relative;overflow:hidden}
.mdc:before{content:"";background:radial-gradient(120% 140% at 0% 0%, var(--accent), transparent 60%);opacity:0;pointer-events:none;transition:opacity .6s;position:absolute;inset:0}
#music.is-live .mdc:before{opacity:1}
.mdc-art{object-fit:cover;background:var(--surface);border-radius:12px;width:132px;height:132px;box-shadow:0 8px 24px #00000059}
.mdc-art:not(.has-art){display:grid}
.mdc-art:not(.has-art):after{content:"♪";color:var(--text-faint);place-items:center;height:100%;font-size:2.4rem;display:grid}
.mdc-meta{min-width:0;position:relative}
.mdc-state{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.7rem;display:inline-flex}
#music.is-live .mdc-state{color:var(--accent)}
.mdc-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .15rem;font-size:1.3rem;font-weight:700;line-height:1.2;display:block;overflow:hidden}
.mdc-title:hover{color:var(--accent)}
.mdc-artist{color:var(--text-soft);font-size:.95rem;display:block}
.mdc-album{color:var(--text-muted);margin-top:.1rem;font-size:.82rem;display:block}
.mdc-progress{align-items:center;gap:.6rem;margin-top:.8rem;display:flex}
.mdc-bar{background:var(--surface);border-radius:999px;flex:1;height:6px;overflow:hidden}
.mdc-fill{background:var(--accent);border-radius:999px;width:0%;height:100%;transition:width .4s linear;display:block}
.mdc-time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem}
.sec-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:2.4rem 0 .7rem;font-size:.78rem;font-weight:500}
.sec-row{justify-content:space-between;align-items:baseline;gap:.8rem;margin:2.4rem 0 .7rem;display:flex}
.sec-row .sec-title{margin:0}
.ly-lock{letter-spacing:.04em;cursor:url(https://m.doughmination.gay/img/cursor/pointer_0.png),pointer;background:var(--surface);color:var(--text-soft);border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .8rem .28rem .7rem;font-family:inherit;font-size:.72rem;transition:color .15s,border-color .15s,background .15s;display:inline-flex}
.ly-lock.is-locked{color:var(--bg-deep);border-color:var(--accent);background:var(--accent)}
.ly-lock:not(.is-locked):hover{color:var(--text);border-color:var(--surface-hi)}
.ly-bars{flex-shrink:0;align-items:flex-end;gap:2px;width:13px;height:11px;display:inline-flex}
.ly-bars i{transform-origin:bottom;opacity:.55;background:currentColor;border-radius:1px;flex:1;height:100%;transform:scaleY(.4)}
.ly-lock.is-locked .ly-bars i{opacity:1;animation:.9s ease-in-out infinite ly-eq}
.ly-lock.is-locked .ly-bars i:nth-child(2){animation-delay:.15s}
.ly-lock.is-locked .ly-bars i:nth-child(3){animation-delay:.3s}
.ly-lock.is-locked .ly-bars i:nth-child(4){animation-delay:.45s}
.lyrics{scroll-behavior:smooth;overscroll-behavior:contain;background:var(--bg-deep);border:1px solid var(--surface);scrollbar-width:thin;scrollbar-color:var(--surface-hi) transparent;border-radius:16px;height:340px;padding:1.4rem;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}
.lyrics::-webkit-scrollbar{width:8px}
.lyrics::-webkit-scrollbar-thumb{background:var(--surface-hi);border-radius:999px}
.lyrics.is-instrumental,.lyrics.is-empty,.lyrics.is-loading{place-content:center;height:180px;display:grid;-webkit-mask-image:none;mask-image:none}
.ly-line{color:var(--text-faint);margin:0;padding:.32rem 0;font-size:1.18rem;line-height:1.4;transition:color .3s,opacity .3s,transform .3s}
.is-synced .ly-line{opacity:.55}
.is-synced .ly-line.is-active{color:var(--accent);opacity:1;font-weight:700;transform:translate(2px)}
.ly-static{color:var(--text-soft);opacity:1;font-size:1.05rem}
.ly-note{color:var(--text-muted);text-align:center;margin:0;padding-top:1rem;font-size:.95rem}
.lyrics.is-instrumental .ly-note{color:var(--accent);font-size:1.2rem}
.recent{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}
.rc-item a{border-radius:12px;grid-template-columns:44px 1fr auto;align-items:center;gap:.7rem;padding:.45rem .55rem;text-decoration:none;transition:background .15s;display:grid}
.rc-item a:hover{background:var(--surface)}
.rc-art{object-fit:cover;background:var(--surface);border-radius:8px;width:44px;height:44px}
.rc-art-blank{color:var(--text-faint);place-items:center;font-size:1.1rem;display:grid}
.rc-text{min-width:0}
.rc-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;display:block;overflow:hidden}
.rc-artist{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;display:block;overflow:hidden}
.rc-when,.rc-now{white-space:nowrap;font-size:.72rem}
.rc-when{color:var(--text-muted)}
.rc-now{color:var(--accent);font-weight:700}
.is-now{background:var(--accent);border-radius:12px}
.rc-note{color:var(--text-muted);padding:.6rem .4rem;font-size:.86rem;line-height:1.5}
.rc-note code{background:var(--surface);color:var(--text);border-radius:6px;padding:.1rem .35rem;font-size:.9em}
.top-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}
.top-chip a{background:var(--bg-raised);border:1px solid var(--surface);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .8rem;text-decoration:none;transition:border-color .15s;display:inline-flex}
.top-chip a:hover{border-color:var(--accent)}
.top-art{object-fit:cover;background:var(--surface);width:34px;height:34px;color:var(--text-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.95rem;display:inline-flex;overflow:hidden}
.top-text{flex-direction:column;min-width:0;line-height:1.2;display:inline-flex}
.top-rank{color:var(--accent);font-size:.78rem;font-weight:700}
.top-name{color:var(--text);font-size:.85rem}
.top-plays{color:var(--text-muted);font-size:.72rem}
@media (max-width:560px){.mdc{grid-template-columns:96px 1fr;gap:.85rem;padding:.9rem}.mdc-art{width:96px;height:96px}.mdc-title{font-size:1.1rem}.lyrics{height:300px}.ly-line{font-size:1.05rem}}
@media (prefers-reduced-motion:reduce){.mdc-fill{transition:none}.ly-lock.is-locked .ly-bars i{animation:none;transform:scaleY(.65)}.ly-line{transition:color .15s}}
