/* A small listening space, sharing the site's cloud material and typography. */
.sky-music{position:fixed;left:22px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:70;color:var(--nav-ink);font:400 12px/1.5 'Meric Inter',sans-serif}
.sky-music button{display:grid;place-items:center;min-height:44px;min-width:44px;padding:8px;border:0;background:none;color:inherit;font:inherit;cursor:pointer;position:relative;isolation:isolate}
.sky-music button::before{content:'';position:absolute;inset:2px -3px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 62% 64% at 43% 44%,color-mix(in srgb,var(--cloud-shade) 65%,transparent),transparent 82%),radial-gradient(ellipse 52% 65% at 65% 58%,color-mix(in srgb,var(--cloud-light) 65%,transparent),transparent 84%);filter:blur(3px);opacity:.45;transition:opacity 160ms ease}
.sky-music button:is(:hover,:focus-visible)::before{opacity:1}
.sky-music button:focus-visible{outline:none;filter:drop-shadow(0 0 1px currentColor)}
.sky-music button:active{transform:scale(.97)}
.sky-music button svg{width:20px;height:20px;fill:currentColor}
.sky-music .music-trigger{width:44px;padding:4px}
.sky-music .music-trigger svg{width:24px;height:24px}
.sky-music .music-trigger::before{opacity:0}
.sky-music .music-trigger:is(:hover,:focus-visible)::before{opacity:.8}
.sky-music.is-playing .music-trigger::before{opacity:.6}
#music-panel{position:absolute;left:-6px;bottom:60px;width:400px;aspect-ratio:1;max-width:calc(100vw - 32px);box-sizing:border-box;--music-inset:36px;padding:var(--music-inset) 40px;color:var(--cloud-ink);isolation:isolate;transform-origin:20px bottom}
#music-panel[hidden]{display:none}
#music-panel::before{display:none}
.music-pair{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:12px;align-items:start;text-align:left}
.music-track{display:flex;flex-direction:column;gap:4px}
.music-artist{min-height:30px;font-size:10px;line-height:1.5;color:var(--cloud-muted);overflow-wrap:anywhere}
.music-title{font-size:13px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}
.music-cross{font-size:12px;line-height:1.2;color:var(--cloud-muted);margin:20px 0 0}
.music-seek{position:relative;height:44px;margin-top:9px}
.music-waveform{position:absolute;inset:10px 0;pointer-events:none;color:var(--cloud-ink)}
.music-waveform svg{position:absolute;inset:0;width:100%;height:100%;fill:currentColor}
.music-wave-base{opacity:.2}.music-wave-played{clip-path:inset(0 100% 0 0);opacity:.9}
.music-position{position:absolute;inset:0;width:100%;height:44px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;accent-color:var(--cloud-ink)}
.music-position::-webkit-slider-runnable-track{height:24px;background:transparent}
.music-position::-webkit-slider-thumb{-webkit-appearance:none;width:4px;height:26px;border-radius:2px;background:var(--cloud-ink);opacity:0}
.music-position::-moz-range-track{height:24px;background:transparent;border:0}
.music-position::-moz-range-thumb{width:4px;height:26px;border:0;border-radius:2px;background:var(--cloud-ink);opacity:0}
.music-position:is(:hover,:focus-visible)::-webkit-slider-thumb{opacity:.9}
.music-position:is(:hover,:focus-visible)::-moz-range-thumb{opacity:.9}
.music-position:focus-visible{outline:none;background:radial-gradient(ellipse,color-mix(in srgb,var(--cloud-shade) 35%,transparent),transparent 75%)}
.music-times{display:flex;justify-content:space-between;font-size:10px;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--cloud-muted);margin-top:-4px}
.music-transport{display:flex;align-items:center;justify-content:center;gap:18px;margin:5px 0 10px}
#music-panel .music-play{width:48px;height:48px}
#music-panel .music-play::before{opacity:.85}
#music-panel .music-play svg{width:24px;height:24px}
#music-note{font:400 11px/1.5 'Meric Inter',sans-serif;color:var(--cloud-muted);margin:0;text-wrap:pretty}
.music-status{font:400 10px/1.5 'Meric Inter',sans-serif;color:var(--cloud-ink);margin:10px 0 0}.music-status:empty{display:none}
.sky-music[data-unavailable] :is(.music-seek,.music-times){display:none}
.sky-music button:disabled{opacity:.35;cursor:default;transform:none}
.sky-music button:disabled::before{opacity:0}
@media(max-width:700px){html body.homepage:has(#music-panel:not([hidden])) #sky-dock .time-control{visibility:hidden!important;pointer-events:none!important}}

@media(prefers-reduced-motion:reduce){.sky-music button,.sky-music button::before{transition:none}.sky-music button:active{transform:none}}

/* A body-level utility anchor cannot inherit the dock's containing block. */
html body.homepage>.sky-utilities{position:fixed!important;inset:auto 22px calc(20px + env(safe-area-inset-bottom,0px)) auto!important;display:block!important;width:32px!important;height:44px!important;margin:0!important;transform:none!important;z-index:75;pointer-events:auto}
html body.homepage>.sky-utilities>.sky-options{position:static!important;inset:auto!important;width:32px;height:44px}
html body.homepage>.sky-utilities>.sky-options>summary{width:32px;min-height:44px;font:400 15px/1 'Meric Inter',sans-serif;opacity:1;color:var(--nav-ink);background:radial-gradient(ellipse,color-mix(in srgb,var(--cloud-light) 35%,transparent),transparent 74%)!important}
html body.homepage>.sky-utilities>.sky-options>summary:is(:hover,:focus-visible){font-weight:600}

/* IG Stories composition: 1280×775 fixed mask over a 1.25× rotating disc.
   The wordmark and maker stamp are the original app's SVG assets. */
.music-composition{position:relative;isolation:isolate;aspect-ratio:1;width:160px;max-width:100%;overflow:hidden;margin:0 auto 14px;background:linear-gradient(145deg,color-mix(in srgb,var(--cloud-shade) 32%,var(--cloud-light)),var(--cloud-light) 70%)}
.music-triptych{position:absolute;left:0;top:50%;width:100%;aspect-ratio:1280/775;transform:translateY(-50%);mask:url('/music-art/triptych.svg') center/100% 100% no-repeat;-webkit-mask:url('/music-art/triptych.svg') center/100% 100% no-repeat}
.music-record{position:absolute;width:125%;aspect-ratio:1;left:-12.5%;top:50%;margin-top:-62.5%;border-radius:50%;background:radial-gradient(ellipse at 28% 25%,#abc8d0 0%,transparent 48%),radial-gradient(ellipse at 75% 80%,#9c91b1 0%,transparent 50%),conic-gradient(from 35deg,#364e62,#7b96aa,#c5d5d9,#49677a,#364e62);animation:music-record-turn 20s linear;animation-iteration-count:infinite;animation-play-state:paused}
.sky-music.is-playing #music-panel:not([hidden]):not([inert]) .music-record{animation-play-state:running}
.music-carpi{position:absolute;left:50%;top:50%;width:30%;height:auto;transform:translate(-50%,-50%);filter:brightness(0) invert(1)}
.music-branding{position:absolute;bottom:0;left:50%;width:26.5625%;height:auto;transform:translateX(-50%)}
#music-panel{max-height:calc(100dvh - 106px);overflow:visible;overscroll-behavior:contain;scrollbar-width:thin}
.music-pair{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:10px}
.music-artist{min-height:0}
.music-track{gap:2px}
.music-cross{margin-top:16px}
.music-transport{margin-bottom:8px}
@keyframes music-record-turn{to{transform:rotate(360deg)}}

@media(prefers-reduced-motion:reduce){.music-record{animation:none}}

.music-pair{row-gap:2px}
.music-track{display:grid;grid-template-rows:subgrid;grid-row:span 2}
.music-cross{grid-row:span 2;align-self:center;margin:0}


.music-content{max-height:calc(100dvh - 106px - 2 * var(--music-inset));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:700px){#music-panel{width:400px;max-width:calc(100vw - 24px);left:-10px;--music-inset:24px;padding-inline:32px}}
@media(max-width:360px){#music-panel{padding-inline:40px}}

.music-cloud{position:absolute;inset:-5%;width:110%;height:110%;z-index:-1;overflow:visible;pointer-events:none}
.music-content{max-height:100%;height:100%}
.music-featured{display:flex;flex-direction:column;gap:12px;align-items:center}
.music-featured .music-composition{order:2;width:180px;aspect-ratio:1280/775;margin:0;background:none;overflow:visible}
.music-featured .music-pair{order:1;display:flex;flex-direction:column;gap:4px;text-align:center;width:100%}
.music-featured .music-track{display:flex;flex-direction:column;gap:2px}
.music-featured .music-cross{align-self:center;font-size:10px}
.music-transport{margin:0}
@media(max-width:360px){.music-featured .music-composition{width:150px}#music-panel{padding-inline:28px}}

.music-featured .music-branding{bottom:-8px;width:38px}
.music-featured .music-artist{font-size:10px;line-height:1.2}
.music-featured .music-title{font-size:12px;line-height:1.2}
#music-note{text-align:center}
.music-featured .music-pair{align-items:center}
.music-featured .music-composition{width:150px}
.music-featured{gap:8px}
/* Fixed divider frame matches CarpiMark's open extent; only its arms and reveal move. */
.music-carpi-divider{display:block;width:64px;height:14px;flex:none;overflow:visible;color:var(--cloud-ink);margin:2px auto 5px}
/* A quiet seek line replaces the waveform; the hit target remains 44px tall. */
.music-record{background-size:cover;background-repeat:no-repeat}
.music-position::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--cloud-ink) var(--music-progress,0%),var(--cloud-rule) var(--music-progress,0%))}
.music-position::-moz-range-track{height:2px;background:var(--cloud-rule)}
.music-position::-moz-range-progress{height:2px;background:var(--cloud-ink)}
.music-position::-webkit-slider-thumb{width:6px;height:6px;margin-top:-2px;border-radius:50%}
.music-position::-moz-range-thumb{width:6px;height:6px;border-radius:50%}

/* Player typography follows the site; artwork retains its own branding. */
#music-panel{width:min(320px,calc((100dvh - 110px) * .5625));max-width:calc(100vw - 24px);aspect-ratio:9/16;min-height:0;--music-inset:32px;padding:32px 36px;font-family:'Meric Inter',sans-serif}
.music-content{height:100%;max-height:100%;display:flex;flex-direction:column}
#music-note{font:400 10px/1.55 'Meric Inter',sans-serif;margin:0 auto 18px;text-align:center;flex:none}
.music-featured{gap:16px;flex:1;justify-content:center}
.music-featured .music-pair{order:0;flex:none}
.music-featured .music-artist{font:500 10.4px/1.2 'Meric Inter',sans-serif}
.music-featured .music-title{font:500 13px/1.2 'Meric Inter',sans-serif}
.music-featured .music-seek{order:1;width:76%;height:28px;margin:0;flex:none}
.music-featured .music-composition{order:2;width:100%;flex:none}
.music-featured .music-branding{width:26.5625%;bottom:-14px}
.music-featured .music-waveform{inset:9px 0;height:10px}
.music-wave-base{opacity:.7}.music-wave-played{opacity:1}
.music-position{height:28px}
.music-position::-webkit-slider-runnable-track{height:16px;background:transparent}
.music-position::-moz-range-track,.music-position::-moz-range-progress{background:transparent}
.music-position::-webkit-slider-thumb{height:18px;width:2px;margin-top:-1px;border-radius:1px}
.music-times{font-family:'Meric Inter',sans-serif;margin-top:24px;flex:none}
.music-transport{flex:none}
.music-status{font-family:'Meric Inter',sans-serif}
@media(max-width:700px){#music-panel{left:-10px;padding:28px 30px}}
@media(max-height:650px){#music-panel{width:280px;aspect-ratio:auto;height:calc(100dvh - 110px)}.music-content{overflow-y:auto}.music-featured{flex:none}.music-featured .music-composition{width:150px}}
html body.homepage #music-panel :is(.music-artist,.music-title,.music-times,.music-times span,#music-note,.music-status){font-family:'Meric Inter',sans-serif!important}
html body.homepage #music-panel :is(.music-artist,.music-title){font-weight:500!important}

/* Cloud shell and photographic frame are independent surfaces. */
#music-panel{width:384px;max-width:calc(100vw - 24px);height:auto;aspect-ratio:auto;max-height:calc(100dvh - 106px);padding:32px;background:none;border-radius:0;overflow:visible}
#music-panel::after{display:none}
.music-shell-cloud{position:absolute;inset:-3% -4%;width:108%;height:106%;overflow:visible;z-index:-1;pointer-events:none}
.music-content{display:block;height:auto;max-height:calc(100dvh - 170px);overflow-y:auto}
#music-panel #music-note{margin:0 4px 20px;color:var(--cloud-muted)}
.music-frame{position:relative;isolation:isolate;box-sizing:border-box;width:100%;aspect-ratio:9/16;overflow:hidden;border-radius:14px;background:#172029;padding:24px 0;--cloud-ink:#fff;--cloud-muted:rgba(255,255,255,.8);--cloud-rule:rgba(255,255,255,.3)}
.music-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.music-frame::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.64),rgba(0,0,0,.22) 48%,rgba(0,0,0,.55))}
.music-frame-content{height:100%;display:flex;flex-direction:column;overflow-y:auto}
.music-featured{gap:18px;flex:1;justify-content:space-evenly}
.music-featured .music-pair{box-sizing:border-box;padding-inline:28px}
.music-featured .music-composition{width:100%}
.music-frame-content>.music-seek{flex:none;width:calc(100% - 56px);height:28px;margin:22px auto 0}
.music-frame-content .music-waveform{inset:9px 0;height:10px}
.music-times{margin:0 28px}
.music-status{margin-inline:28px}
@media(max-width:700px){#music-panel{left:-10px;padding:28px}.music-content{max-height:calc(100dvh - 162px)}}
@media(max-height:650px){#music-panel{width:340px}.music-frame-content{min-height:440px}.music-frame{aspect-ratio:auto}.music-featured .music-composition{width:100%}}
html body.homepage #music-panel .music-frame :is(.music-title,.music-carpi-divider){color:var(--cloud-ink)!important}
.music-frame{color:var(--cloud-ink)}
/* IG Stories proportions: CompositionTextBlock + TextSizing (-1), 350pt reference. */
.music-frame{container-type:inline-size;--carpi-song-size:4.114286cqw;--carpi-artist-size:3.291429cqw;--carpi-unit:.285714cqw;--carpi-group-gap:1.142857cqw}
.music-featured{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:2.285714cqw;min-height:0;padding-top:5.714286cqw}
.music-featured .music-pair{position:relative;display:flex;flex-direction:column;gap:var(--carpi-group-gap);padding-inline:9.142857cqw;align-self:center}
.music-featured .music-track{gap:var(--carpi-unit)}
html body.homepage #music-panel .music-frame .music-title{font-size:var(--carpi-song-size)!important;line-height:1.2!important}
html body.homepage #music-panel .music-frame .music-artist{font-size:var(--carpi-artist-size)!important;line-height:1.2!important}
.music-carpi-divider{height:calc(var(--carpi-song-size) * .756);width:auto;aspect-ratio:1112.924/210.814;margin:var(--carpi-group-gap) auto;box-sizing:content-box}
.music-featured .music-composition{align-self:end;min-width:0;aspect-ratio:1280/775}
.music-frame-content>.music-seek{width:84%;margin-top:6.285714cqw}
.music-times{margin-inline:8%}
.music-featured{grid-template-columns:minmax(0,1fr);justify-content:stretch}
/* VinylLayout's text region spans 15%–35.0288077% of the 9:16 frame.
   Center the actual text height there, independent of wrapping and controls. */
.music-frame-content,.music-featured{position:static}
.music-featured .music-pair{position:absolute;top:25.0144038%;left:0;width:100%;transform:translateY(-50%);padding-inline:9.142857cqw}
.music-featured .music-composition{grid-row:2}
#music-panel #music-note{margin-bottom:10px}
.music-profile{margin:0 4px 18px;text-align:center;color:var(--cloud-muted);font:400 10px/1.5 'Meric Inter',sans-serif}
.music-profile p{margin:0 0 6px}
.music-profile nav{display:flex;align-items:center;justify-content:center;gap:10px}
.music-profile a{display:inline-flex;align-items:center;min-height:32px;color:var(--cloud-muted);text-decoration:none}
.music-profile a:is(:hover,:focus-visible){color:var(--cloud-ink);outline:none}
.music-profile a:focus-visible{font-weight:500}
/* Square YouTube export as artwork; metadata and playback belong to the shell. */
#music-panel{width:320px;padding:28px}
.music-album{position:relative;isolation:isolate;width:100%;aspect-ratio:1;overflow:hidden;border-radius:12px;background:#172029;container-type:inline-size;color:#fff}
.music-album::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0002,#0003)}
.music-album .music-composition{position:absolute;top:50%;left:0;width:100%;aspect-ratio:1280/775;transform:translateY(-50%);margin:0;background:none;overflow:visible}
.music-album .music-branding{position:fixed}
.music-album .music-composition .music-branding{position:absolute;top:100%;bottom:auto;left:50%;width:26.5625%;transform:translateX(-50%);margin-top:calc(19.7265625cqw - 7.8125cqw)}
.music-album .music-carpi-divider{position:absolute;left:50%;top:50%;width:40%;height:auto;aspect-ratio:1112.924/210.814;transform:translate(-50%,-50%);margin:0;color:#fff;filter:drop-shadow(0 1px 2px #0006)}
.music-details{margin-top:16px}
.music-details .music-pair{position:static;display:grid;grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr);gap:10px;align-items:start;width:100%;transform:none;text-align:left}
.music-details .music-track{display:flex;flex-direction:column;gap:2px}
.music-details .music-cross{align-self:center;margin:0}
html body.homepage #music-panel .music-details .music-title{font:500 11px/1.3 'Meric Inter',sans-serif!important;color:var(--cloud-ink)}
html body.homepage #music-panel .music-details .music-artist{font:500 8.8px/1.3 'Meric Inter',sans-serif!important;color:var(--cloud-muted)}
.music-content>.music-seek{width:100%;height:28px;margin:10px 0 0}
.music-content>.music-seek .music-waveform{height:10px;inset:9px 0}
.music-content>.music-times{margin:0}
.music-profile{margin-bottom:14px}
@media(max-width:700px){#music-panel{padding:28px}}
/* Track metadata keeps the export's centered vertical reading order. */
.music-details .music-pair{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.music-details .music-track{align-items:center;width:100%}
.music-details .music-cross{align-self:center;line-height:1;margin:2px 0}
/* Give the introduction more air beneath the cloud's upper edge. */
.music-mini-cover{position:relative;display:grid;place-items:center;width:36px;aspect-ratio:1;overflow:hidden;border-radius:5px;background:#172029 center/cover no-repeat;opacity:.8;transition:opacity 160ms ease}
.sky-music .music-trigger .music-mini-mark{position:absolute;left:50%;top:50%;width:40%;height:auto;transform:translate(-50%,-50%);color:#fff;pointer-events:none;filter:drop-shadow(0 1px 1px #0006)}
.music-mini-triptych{display:block;position:relative;width:100%;aspect-ratio:1280/775;mask:url('/music-art/triptych.svg') center/100% 100% no-repeat;-webkit-mask:url('/music-art/triptych.svg') center/100% 100% no-repeat}
.music-mini-record{display:block;position:absolute;width:125%;aspect-ratio:1;left:-12.5%;top:50%;margin-top:-62.5%;border-radius:50%;background:linear-gradient(135deg,#98bbc3,#566b80,#aaa3bb) center/cover no-repeat;animation:music-record-turn 20s linear infinite paused}
.sky-music .music-trigger:is(:hover,:focus-visible,[aria-expanded="true"]) .music-mini-cover,.sky-music.is-playing .music-mini-cover{opacity:1}
.sky-music.is-playing .music-mini-record{animation-play-state:running}
.sky-music .music-trigger:focus-visible{outline:2px solid var(--nav-ink);outline-offset:3px;border-radius:6px;filter:none}
@media(prefers-reduced-motion:reduce){.music-mini-record{animation:none}.music-mini-cover{transition:none}}
#music-panel{padding-top:56px}
.music-content{max-height:calc(100dvh - 198px)}
@media(max-width:700px){#music-panel{padding-top:56px}.music-content{max-height:calc(100dvh - 190px)}}

html body.homepage #music-panel #music-note{line-height:1.75;margin-bottom:16px}

#music-panel{padding-inline:40px}

.music-watermark{display:block;width:64px;aspect-ratio:733.607/210.814;margin:0 auto 20px;background:var(--cloud-ink);opacity:1;mask:url('/music-art/carpi-wordmark.svg') center/contain no-repeat;-webkit-mask:url('/music-art/carpi-wordmark.svg') center/contain no-repeat}

/* Compact listening layout: clear groups without oversized gaps. */
#music-panel{padding:32px 40px 24px;--music-inset:28px}
.music-content{max-height:calc(100dvh - 170px)}
.music-watermark{margin-bottom:12px}
html body.homepage #music-panel #music-note{line-height:1.6;margin-bottom:8px}
.music-profile{margin:0 0 10px}
.music-details{margin-top:12px}
.music-content>.music-seek{margin-top:6px}
.music-transport{margin:0}
@media(max-width:700px){#music-panel{padding:28px 36px 24px}.music-content{max-height:calc(100dvh - 158px)}}

html body.homepage #music-panel .music-rights{margin:12px 0 0;font:400 10px/1.5 'Meric Inter',sans-serif;color:var(--cloud-muted);text-align:center;text-wrap:pretty}
.music-profile .music-handle{color:var(--cloud-ink)}

/* Keep the player stable while offering more mixes at the end. */
.music-details .music-pair{display:grid;grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr);align-items:center;gap:8px;min-height:48px}
.music-details .music-track{min-width:0;grid-row:auto;align-items:center;gap:3px}
.music-details .music-artist{min-height:0;overflow-wrap:normal;text-wrap:pretty}
.music-details .music-title{overflow-wrap:normal;text-wrap:balance}
.music-album>.music-outgoing{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;pointer-events:none}


/* An end frame inside the cover keeps every control in place. */
.music-ending{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;background:rgba(10,13,17,.66);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 240ms ease,visibility 0s 240ms}
.sky-music[data-completed] .music-ending{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
html body.homepage #music-panel .music-ending p{margin:0;color:#fff;font:500 14px/1.4 'Meric Inter',sans-serif}
.music-ending nav{display:flex;justify-content:center;gap:20px}
.music-ending a{color:#fff;font:400 11px/1.6 'Meric Inter',sans-serif;text-decoration:none;opacity:.8;padding-block:8px}
@media(hover:hover){.music-ending a:hover{opacity:1}}
.music-ending a:focus-visible{outline:none;opacity:1;background:#ffffff26;box-shadow:0 0 0 4px #ffffff26}
@media(prefers-reduced-motion:reduce){.music-ending{transition:none}}
/* Equal visible gaps: 16px above metadata and 7px + 9px waveform inset below. */
.music-details{margin:0;padding:16px 0 7px}
.music-details .music-pair{min-height:0}
.music-content>.music-seek{margin-top:0}

/* Share artist/title rows so the mixing mark aligns with both titles. */
.music-details .music-pair{grid-template-rows:auto auto;row-gap:3px;align-items:center}
.music-details .music-track{display:grid;grid-template-rows:subgrid;grid-row:1 / span 2;row-gap:3px}
.music-details .music-track:first-child{grid-column:1}
.music-details .music-track:last-child{grid-column:3}
.music-details .music-cross{grid-column:2;grid-row:2;margin:0;align-self:center;font-size:11px;line-height:1.3}

/* Single-line titles reveal their overflow without changing the player layout. */
.music-details .music-title{display:block;width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal}
.music-title-text{display:block;width:max-content;min-width:100%;box-sizing:border-box;padding-inline:8px;text-align:center}
.music-details .music-title.is-overflowing{mask-image:linear-gradient(to right,transparent,#000 8px,#000 calc(100% - 8px),transparent)}
.music-title.is-overflowing .music-title-text{text-align:left}
.music-title:focus-visible{background:color-mix(in srgb,currentColor 8%,transparent);outline:none}
@keyframes music-title-pan{0%,18%{transform:translateX(0)}82%,100%{transform:translateX(var(--title-travel))}}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .music-title.is-overflowing:hover .music-title-text{animation:music-title-pan var(--title-duration) cubic-bezier(.45,0,.55,1);animation-direction:alternate;animation-iteration-count:infinite}
}
@media (prefers-reduced-motion:no-preference){
 .music-title.is-overflowing:focus-visible .music-title-text{animation:music-title-pan var(--title-duration) cubic-bezier(.45,0,.55,1);animation-direction:alternate;animation-iteration-count:infinite}
}
@media (hover:none),(prefers-reduced-motion:reduce){
 .music-details .music-title.is-overflowing{overflow-x:auto;scrollbar-width:none}
 .music-title::-webkit-scrollbar{display:none}
}

/* Content groups own their gaps; the surface owns the outer inset. */
html body.homepage #music-panel{--music-inset:16px;aspect-ratio:auto}
html body.homepage #music-panel .music-content{height:auto;max-height:calc(100dvh - 138px)}
html body.homepage #music-panel .music-watermark{margin:0 auto 12px}
html body.homepage #music-panel #music-note{margin:0 0 4px;padding:0;line-height:1.55;text-wrap:pretty}
html body.homepage #music-panel .music-profile{margin:0 0 12px;padding:0}
html body.homepage #music-panel .music-profile nav{gap:12px;min-height:32px}
html body.homepage #music-panel .music-profile a{min-height:32px;padding:0}
html body.homepage #music-panel .music-album{margin:0}
html body.homepage #music-panel .music-transport{margin:0;padding:0}
html body.homepage #music-panel .music-rights{margin:8px 0 0;padding:0}

html body.homepage #music-panel :is(#music-note,.music-profile,.music-profile a,.music-times,.music-times span,.music-rights,.music-status){font-size:var(--dialog-text);line-height:var(--dialog-leading)}
html body.homepage #music-panel .music-details .music-title{font-size:var(--dialog-heading)!important}
html body.homepage #music-panel .music-details .music-artist{font-size:var(--dialog-meta)!important}

html body.homepage #music-panel .music-details :is(.music-title,.music-artist){line-height:1.5!important}

/* Approved listening hierarchy. */
html body.homepage #music-panel .music-watermark{margin-bottom:12px}
html body.homepage #music-panel #music-note{text-align:left;margin:0 0 8px}
html body.homepage #music-panel .music-audience{font:400 12px/18px 'Meric Inter',sans-serif;color:var(--cloud-muted);margin:0 0 8px;text-wrap:pretty}
html body.homepage #music-panel .music-profile{margin:0 0 24px;text-align:left}
html body.homepage #music-panel .music-profile nav{justify-content:flex-start;gap:20px;flex-wrap:wrap}
html body.homepage #music-panel .music-handle{display:block;flex-basis:100%;font:400 12px/18px 'Meric Inter',sans-serif;color:var(--cloud-muted);margin-bottom:-8px}
html body.homepage #music-panel .music-details{padding-top:10px;padding-bottom:4px}
html body.homepage #music-panel .music-title{font-size:13px!important;font-weight:550}
html body.homepage #music-panel .music-artist{font-size:12px!important;color:var(--cloud-muted)}
html body.homepage #music-panel .music-rights{margin-top:4px;color:var(--cloud-muted);font-size:12px;text-align:center}
html body.homepage #music-panel .music-profile a{display:inline-flex;align-items:center;gap:4px;min-height:32px;color:var(--cloud-muted)}
html body.homepage #music-panel .music-profile a:hover{color:var(--cloud-ink)}
html body.homepage #music-panel .listening-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;min-height:44px}
html body.homepage #music-panel .listening-header .music-watermark{margin:0;width:64px;flex:none}
html body.homepage #music-panel .listening-header .music-profile{margin:0}
html body.homepage #music-panel .listening-header nav{gap:0;flex-wrap:nowrap}
html body.homepage #music-panel .listening-header a{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0}
html body.homepage #music-panel .listening-header a svg{width:var(--icon-media,20px);height:var(--icon-media,20px);display:block}
html body.homepage #music-panel .listening-header a:focus-visible{background:#262a3010;border-radius:5px;outline:none}
html body.homepage #music-panel #music-note{margin-bottom:16px}
/* Align the visible icon edge, rather than the invisible 44px hit box. */
html body.homepage #music-panel .listening-header .music-profile{margin-right:-12px}
/* Align the main letterforms with the social icons, compensating for the descender. */
html body.homepage #music-panel .listening-header .music-watermark{position:relative;top:2px}
html body.homepage #music-panel .music-wave-base{opacity:.25}
html body.homepage #music-panel .music-wave-played{opacity:.7}
/* Compact visible header; hit areas extend without adding layout height. */
html body.homepage #music-panel .listening-header{min-height:28px}
html body.homepage #music-panel .listening-header nav{min-height:28px}
html body.homepage #music-panel .listening-header a{position:relative;height:28px;min-height:28px;overflow:visible}
html body.homepage #music-panel .listening-header a::after{content:'';display:block;position:absolute;inset:-8px 0;background:none;pointer-events:auto}
/* Keep transport and optional times in one stable row beneath the waveform. */
html body.homepage #music-panel .listening-controls{position:relative;min-height:48px;display:grid;align-items:center;margin-top:-6px}
html body.homepage #music-panel .listening-controls .music-times{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;margin:0;opacity:0;pointer-events:none}
html body.homepage #music-panel .listening-controls .music-transport{position:relative;gap:10px;justify-self:center;margin:0}
html body.homepage .sky-music.is-playing #music-panel .music-times,
html body.homepage #music-panel:has(:focus-visible) .music-times{opacity:1}
@media(hover:hover){html body.homepage #music-panel:hover .music-times{opacity:1}}
/* One alignment system for both time labels and transport controls. */
html body.homepage #music-panel .listening-controls{height:44px;min-height:44px}
html body.homepage #music-panel .listening-controls .music-transport{height:44px;display:grid;grid-template-columns:repeat(3,44px);align-items:center;gap:10px}
html body.homepage #music-panel .listening-controls .music-transport button{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center}
html body.homepage #music-panel .listening-controls .music-times{height:44px;align-items:center}
html body.homepage #music-panel .listening-controls .music-times span{display:flex;align-items:center;height:44px;line-height:1}
html body.homepage #music-panel .music-waveform{height:14px;top:7px;bottom:auto}

html body.homepage #music-panel .music-rights{font-size:10px!important;line-height:15px!important}
/* Fine print stays subordinate to transport controls in either sky tone. */
html body.homepage #music-panel .music-rights{color:color-mix(in srgb,var(--cloud-ink) 52%,var(--panel-surface))!important}
/* Align mobile surfaces and the visible dock tiles to the About gutter. */
@media(max-width:700px){
 html body.homepage #music-panel{position:fixed;left:16px;right:16px;width:calc(100vw - 32px);max-width:none;padding:16px;box-sizing:border-box}
 html body.homepage .sky-music{left:12px}
 html body.homepage>.sky-utilities{left:auto!important;right:12px!important;width:44px!important}
}
