/* Keep decorative/text surfaces free of programmatic focus outlines. Keyboard controls retain focus-visible. */
:where(h1,h2,h3,p,section,article,div)[tabindex="-1"]:focus{outline:none}
.music{position:relative;isolation:isolate}.turntable{overflow:hidden}.music-art{position:relative}.tonearm{right:7%;width:36%;height:69%;top:5%}.arm-pivot{right:10px}.arm-bar{right:25px;height:78%;transform:rotate(0deg)}.playing .arm-bar{transform:rotate(25deg)}.arm-rest{position:absolute;right:20px;top:76%;width:18px;height:6px;border-radius:4px;background:#7a6b55;box-shadow:0 1px 3px #173e3340}
.record-label{display:block;font:inherit}.label-title{position:absolute;top:11%;left:6%;right:6%;font:italic clamp(10px,1vw,14px)/1.05 Memory;text-align:center}.label-heart{position:absolute;left:0;right:0;bottom:8%;text-align:center;font:20px/1 Memory}.record-label:after{z-index:1}.player-controls .side-control{width:44px;height:44px;display:grid;place-items:center;background:transparent;color:var(--ink);border:1px solid #173e3326;box-shadow:none;font-size:24px}.player-controls .side-control:hover{background:#173e3309}.player-controls .side-control:active{transform:scale(.95)}.player-controls #musicButton{width:62px;height:62px}.player-controls{gap:27px}.heart-cloud{position:absolute;inset:0;pointer-events:none;z-index:8;overflow:clip}.burst-heart{position:absolute;left:50%;top:55%;color:#b85169;font:28px/1 Manrope;opacity:0;animation:heartFlight 2.4s cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--wait,0ms);filter:drop-shadow(0 2px 2px #f7f3eb)}@keyframes heartFlight{0%{opacity:0;transform:translate(-50%,0) scale(.5)}15%{opacity:1}70%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--x,0px)),var(--y,-170px)) rotate(var(--r,0deg)) scale(1.15)}}
@media(max-width:620px){
 .music.section{padding-block:24px;gap:16px;min-height:0;max-width:440px;margin-inline:auto;align-content:start}
 .music-art{height:clamp(185px,34svh,280px);max-height:none}.turntable{padding:14px 16px;max-width:360px}.music-cover{width:45%;top:31%;border-width:5px}.record{width:77%;left:19%}.tonearm{right:5%;top:4%;width:35%;height:73%}.arm-pivot{width:30px;height:30px;right:10px}.arm-bar{right:23px;top:15px;height:75%;width:6px;transform:rotate(0deg)}.playing .arm-bar{transform:rotate(25deg)}.arm-bar i{width:14px;height:23px;bottom:-15px;left:-4px;transform:rotate(0deg)}.arm-rest{right:18px;top:77%;width:17px}.label-title{font-size:clamp(9px,2.7vw,12px);top:10%;line-height:1}.label-heart{font-size:16px;bottom:9%}
 .player-card{padding:0}.player-card .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:7px}.player-card h2{font-size:clamp(31px,8vw,38px);margin:0 0 9px;line-height:1}.player-card h2 br{display:none}.player-copy{font-size:11px!important;margin:0 0 11px!important;line-height:1.55}.song-info{padding-top:10px}.song-info strong{font-size:14px}.song-info span{font-size:11px}.seek-wrap{margin-top:7px;height:32px}.seek-wrap input{height:32px}.heart-position{height:32px}.heart-position span{line-height:32px;font-size:22px}.song-times{font-size:10px}.player-controls{margin-top:9px;gap:25px}.player-controls #musicButton{width:52px;height:52px}.player-controls .side-control{width:40px;height:40px;font-size:23px}.music-status{font-size:10px!important;margin-top:9px!important}
}
@media(max-width:620px) and (max-height:650px){.music.section{padding-block:18px;gap:12px}.music-art{height:clamp(155px,30svh,195px)}.turntable{padding:10px 14px}.player-card h2{font-size:30px}.player-copy{display:none}.player-card .eyebrow{margin-bottom:5px}.player-controls #musicButton{width:48px;height:48px}.song-info{padding-top:8px}.label-title{font-size:9px}}
@media(prefers-reduced-motion:reduce){.burst-heart{animation:heartFade 1.2s linear both!important}}@keyframes heartFade{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@media(max-width:620px){.record,.playing .record{width:auto;height:94%;aspect-ratio:1;left:auto;right:2%;top:50%}.music-cover{width:43%;top:28%}.label-title{font-size:clamp(8px,2.4vw,11px)}.tonearm{right:0;top:4%}.arm-bar{height:72%}.player-card h2{font-size:clamp(29px,7.8vw,36px)}}
