/* A small record sleeve: artwork is the site's own visual, track metadata stays explicit. */
.music-widget {
  --music-surface:#000;--music-card:#000;--music-ink:#f1f0eb;
  --music-muted:#a9aaa3;--music-line:rgba(255,255,255,.17);--music-control:transparent;
  position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));
  z-index:9500;width:252px;color:var(--music-ink);font-family:var(--font,Arial,sans-serif);touch-action:manipulation;
}
html[data-theme="light"] .music-widget {
  --music-surface:#fff;--music-card:#fff;--music-ink:#242522;
  --music-muted:#686a64;--music-line:rgba(30,33,26,.15);--music-control:transparent;
}
.music-widget[data-placement="intro"] {top:max(24px,env(safe-area-inset-top));bottom:auto;z-index:8}
.music-widget[hidden],.music-widget [hidden] {display:none!important}
.music-widget[data-placement="page"] {transition:translate .28s ease-out}
html[data-reading-idle] .music-widget[data-placement="page"][data-open="false"]:not(:has(:focus-visible)) {
  translate: 0 calc(100% + 60px + env(safe-area-inset-bottom,0px));
  pointer-events: none;
}
@media (prefers-reduced-motion:reduce) {
  .music-widget[data-placement="page"] {transition:none}
}
.music-dock {display:flex;align-items:center;gap:4px;padding:7px;border:1px solid var(--music-line);border-radius:999px;background:var(--music-surface);box-shadow:0 6px 30px #0002;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.music-widget button {color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;border:0;margin:0;box-sizing:border-box}
.music-expand {min-width:0;flex:1;display:flex;gap:10px;align-items:center;text-align:left;padding:0 2px;border-radius:999px;background:none;min-height:44px}
.music-dock-copy {display:flex;flex-direction:column;min-width:0;gap:5px}
.music-dock-title {font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
.music-state {font-size:10px;line-height:1.2;color:var(--music-muted);white-space:nowrap}
.music-toggle {flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--music-control)}
.music-toggle svg {width:20px;height:20px;grid-area:1/1}
.music-play-icon {fill:currentColor}.music-pause-icon {fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;display:none}
.music-widget[data-can-stop="true"] .music-play-icon {display:none}.music-widget[data-can-stop="true"] .music-pause-icon {display:block}
.music-disc {position:relative;flex:none;border-radius:50%;background-color:#686a63;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff30,0 3px 12px #0003;animation:music-record-turn 24s linear infinite paused}
.music-disc:before {content:"";position:absolute;inset:0;border-radius:inherit;background:conic-gradient(from 30deg,#fff0,#fff4 8%,#fff0 17%,#fff0 45%,#e3e2be50 56%,#fff0 65%)}
.music-disc:after {content:"";position:absolute;top:50%;left:50%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#545954 0 17%,#c4c4bf 19% 34%,#eeece3 36% 39%,#959a98 42% 61%,#dbdcd8 63% 68%,#91948a 70%);box-shadow:0 0 0 1px #fff7}
.music-disc-small {width:40px;height:40px}
.music-card {position:absolute;bottom:calc(100% + 10px);right:0;width:278px;max-width:calc(100vw - 32px);border-radius:var(--ui-radius);overflow:hidden;border:1px solid var(--music-line);background:var(--music-card);box-shadow:0 14px 55px #0003;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);animation:music-card-in .25s ease-out both}
.music-widget[data-placement="intro"] .music-card {top:calc(100% + 10px);bottom:auto}
.music-disc-window {height:144px;overflow:hidden;position:relative}
.music-disc-large {width:244px;height:244px;position:absolute;left:16px;top:-108px;box-shadow:0 8px 14px #0003,inset 0 0 0 1px #fff4}
.music-card-content {padding:16px 24px 20px;text-align:center}
.music-artist {font-size:11px;line-height:1.5;color:var(--music-muted);margin:8px 0 4px;letter-spacing:.08em}
.music-card .music-title {font-size:17px;line-height:1.5;font-weight:500;margin:0;color:var(--music-ink);letter-spacing:-.025em}
.music-equalizer {display:flex;height:18px;justify-content:center;align-items:center;gap:3px;color:var(--music-muted)}
.music-equalizer i {display:block;width:2px;height:12px;background:currentColor;border-radius:2px;animation:music-wave 1s ease-in-out infinite alternate paused}
.music-equalizer i:nth-child(2) {height:18px;animation-delay:-.7s}.music-equalizer i:nth-child(3){height:10px;animation-delay:-.4s}.music-equalizer i:nth-child(4){height:15px;animation-delay:-.2s}.music-equalizer i:nth-child(5){height:8px;animation-delay:-.8s}
.music-widget[data-playing="true"] :is(.music-disc,.music-equalizer i) {animation-play-state:running}
.music-timeline {height:2px;overflow:hidden;background:var(--music-line);margin:20px 0 11px;border-radius:2px}
.music-timeline-fill {height:100%;background:var(--music-ink);transform:scaleX(0);transform-origin:left}
.music-time {margin:0;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.music-time-divider,.music-duration {color:var(--music-muted)}
.music-volume {display:flex;align-items:center;gap:8px;margin-top:11px;font-size:10px;color:var(--music-muted);min-height:28px}
.music-volume input {min-width:0;flex:1;accent-color:var(--music-ink);height:28px;cursor:pointer;margin:0;touch-action:pan-x}
.music-volume-value {width:27px;text-align:right;font-variant-numeric:tabular-nums}
.music-collapse {position:absolute;top:9px;right:9px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--music-surface);font-size:20px!important;line-height:1}
.music-widget button:focus-visible,.music-volume input:focus-visible {outline:2px solid var(--music-ink);outline-offset:3px}
.music-widget button:hover {filter:brightness(1.1)}
@keyframes music-record-turn {to{transform:rotate(360deg)}}
@keyframes music-wave {to{transform:scaleY(.35)}}
@keyframes music-card-in {from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px) {
  .music-widget {width:224px;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
  .music-widget[data-placement="intro"] {top:max(14px,env(safe-area-inset-top))}
  .music-dock-title {font-size:10px}.music-dock {padding:5px}.music-expand {gap:8px}
  .music-card {width:258px}.music-disc-large {left:6px}.music-disc-window {height:128px}
  .music-card-content {padding:12px 20px 14px}
  .music-volume input {height:44px}
}
@media(max-height:550px) {.music-disc-window{height:68px}.music-disc-large{top:-174px}.music-card-content{padding-top:10px;padding-bottom:10px}.music-volume{margin-top:4px}.music-timeline{margin-top:12px}}
@media(prefers-reduced-motion:reduce) {.music-widget * {animation:none!important;transition:none!important}}

/* Leave space for the fixed player below the footer actions. */
body:has(>.music-widget) .site-footer {padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
