/* Floating, translucent player shared by every user page. */
:root{--player-h:100px;--player-surface:rgba(37,39,46,.64);--player-surface-border:rgba(255,255,255,.18)}
html[data-theme="light"],body.light{--player-surface:rgba(249,249,252,.65);--player-surface-border:rgba(130,135,145,.25)}
.desktop-sidebar{bottom:0!important}
.web-player{
 left:calc(var(--sidebar-w) + 24px)!important;right:24px!important;bottom:18px!important;
 width:auto!important;max-width:1120px;margin-inline:auto;
 height:82px!important;min-height:82px!important;padding:12px 16px!important;
 grid-template-columns:44px minmax(0,.65fr) minmax(130px,1fr) 98px!important;
 grid-template-rows:32px 18px!important;column-gap:12px!important;row-gap:4px!important;
 background:var(--player-surface)!important;color:var(--text);
 border:1px solid var(--player-surface-border)!important;border-radius:24px!important;
 box-shadow:0 16px 50px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.08);
 backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);
}
.web-player .player-art-shell{width:44px!important;height:44px!important;border-radius:10px}
.web-player .player-controls{gap:12px!important}
.web-player .player-play{background:transparent!important;color:inherit!important;border:0;border-radius:50%;width:38px!important;height:38px!important}
.web-player .player-control{color:inherit!important}
.web-player .player-control svg,.web-player .player-play svg{display:block;width:24px;height:24px;margin:auto}
.web-player .player-meta{cursor:pointer}
.web-player .player-meta strong{font-size:13px}
.web-player .player-meta span{font-size:11px}
.web-player .player-progress{grid-template-columns:32px minmax(0,1fr) 32px!important;font-size:10px}
/* Native range interaction with a thicker track and an invisible, draggable thumb. */
#player-range,#player-sheet-range{--timeline-height:6px;--timeline-fill:var(--text);--timeline-track:rgba(130,130,160,.24);appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:18px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;accent-color:var(--timeline-fill)}
#player-sheet-range{--timeline-height:8px;--timeline-fill:rgba(255,255,255,.9);--timeline-track:rgba(255,255,255,.22);height:24px}
#player-range::-webkit-slider-runnable-track,#player-sheet-range::-webkit-slider-runnable-track{height:var(--timeline-height);border:0;border-radius:999px;background:linear-gradient(to right,var(--timeline-fill) 0%,var(--timeline-fill) var(--player-progress,0%),var(--timeline-track) var(--player-progress,0%),var(--timeline-track) 100%)}
#player-range::-webkit-slider-thumb,#player-sheet-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:calc((var(--timeline-height) - 18px)/2);border:0;border-radius:50%;background:transparent;box-shadow:none}
#player-range::-moz-range-track,#player-sheet-range::-moz-range-track{height:var(--timeline-height);border:0;border-radius:999px;background:var(--timeline-track)}
#player-range::-moz-range-progress,#player-sheet-range::-moz-range-progress{height:var(--timeline-height);border-radius:999px;background:var(--timeline-fill)}
#player-range::-moz-range-thumb,#player-sheet-range::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:50%;background:transparent;box-shadow:none}
#player-range:focus-visible,#player-sheet-range:focus-visible{outline:2px solid var(--timeline-fill);outline-offset:3px;border-radius:999px}
.web-player .player-extra{gap:4px!important}
/* Keep the engine status node for playback updates, without a dock badge or layout shift. */
.web-player #player-quality{display:none!important}
html[data-theme="light"] .web-player,body.light .web-player{background:var(--player-surface)!important;border-color:var(--player-surface-border)!important;box-shadow:0 12px 42px rgba(30,35,45,.16),inset 0 1px rgba(255,255,255,.7)}
html[data-theme="light"] .web-player #player-quality,body.light .web-player #player-quality{color:var(--muted);background:rgba(80,90,105,.08)}
.player-sheet-overlay[hidden]{display:none!important}
.player-sheet-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.4);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .26s ease;display:flex;align-items:flex-end;justify-content:center}
.player-sheet-overlay.is-open{opacity:1}
.player-sheet{position:relative;width:min(520px,100%);max-height:95dvh;overflow:auto;overscroll-behavior:contain;padding:16px 32px calc(28px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.16);border-radius:30px 30px 0 0;background:#25212f;color:#fff;box-shadow:0 -12px 60px rgba(0,0,0,.3);transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.is-open .player-sheet{transform:translateY(0)}
.player-sheet-background{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit;opacity:.36}
.player-sheet-background img{width:100%;height:100%;object-fit:cover;filter:blur(55px) saturate(170%);transform:scale(1.3)}
.player-sheet-content,.player-sheet-close{position:relative;z-index:1}
.player-sheet-close{display:flex;justify-content:center;width:100%;height:40px;margin:0 0 18px;padding:0;border:0;background:transparent;color:rgba(255,255,255,.6);touch-action:none;cursor:pointer}
.player-sheet-close svg{width:30px;height:30px}
.player-sheet-art{width:min(100%,340px);aspect-ratio:1;margin:0 auto 30px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#665576,#333141);box-shadow:0 18px 46px rgba(0,0,0,.24)}
.player-sheet-art img{width:100%;height:100%;object-fit:cover}
.player-sheet-heading{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.player-sheet-heading>div{flex:1;min-width:0}
.player-sheet-heading h2{font-size:22px;line-height:1.3;margin:0 0 5px;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-sheet-heading p{font-size:15px;margin:0;color:rgba(255,255,255,.65);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-sheet-icon{border:0;background:rgba(255,255,255,.1);border-radius:50%;color:inherit;width:36px;height:36px;flex-shrink:0;padding:9px}
.player-sheet-icon svg{width:18px;height:18px}
.player-sheet-seek input,.player-sheet-volume input{width:100%;height:5px;border:0;padding:0;accent-color:#eee7ff;background:rgba(255,255,255,.2)}
.player-sheet-seek>div{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums}
.player-sheet-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0}
.player-sheet-controls button{width:64px;height:64px;padding:8px;background:transparent;color:inherit;border:0;cursor:pointer}
.player-sheet-controls svg{width:100%;height:100%}
.player-sheet-controls #player-sheet-toggle{width:76px;height:76px}
.player-sheet-volume{display:flex;align-items:center;gap:14px;margin:0 0 24px;color:rgba(255,255,255,.7)}
.player-sheet-volume input{flex:1;min-width:0}
.player-sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.player-sheet-footer .quality-badge{color:rgba(255,255,255,.7);background:rgba(255,255,255,.08)}
#player-sheet-queue-toggle{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:rgba(255,255,255,.7);font-size:12px;padding:8px;cursor:pointer}
#player-sheet-queue-toggle svg{width:22px;height:22px}
.player-sheet-queue{margin-top:18px;border-top:1px solid rgba(255,255,255,.15);padding-top:12px;display:grid;gap:6px}
.player-sheet-queue[hidden]{display:none}
.player-queue-track{display:grid;gap:4px;min-width:0;text-align:left;border:0;border-radius:10px;padding:10px 12px;background:transparent;color:inherit;cursor:pointer}
.player-queue-track strong,.player-queue-track small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-queue-track small{color:rgba(255,255,255,.65)}
.player-queue-track.is-current,.player-queue-track:hover{background:rgba(255,255,255,.12)}
.player-sheet button:disabled,.player-sheet input:disabled{opacity:.35;cursor:not-allowed}
.player-sheet button:focus-visible,.web-player button:focus-visible,.web-player [role="button"]:focus-visible{outline:2px solid currentColor;outline-offset:3px}
body.player-sheet-open{overflow:hidden}
body.page-is-loading:before{content:"";position:fixed;top:0;left:var(--sidebar-w);right:0;height:2px;background:var(--accent);z-index:300;animation:navigation-progress 1s ease-in-out infinite}
@keyframes navigation-progress{0%{opacity:.35}50%{opacity:1}100%{opacity:.35}}
@media(max-width:900px){
 .web-player{left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;border-radius:999px!important;min-height:68px!important;height:68px!important;padding:10px 14px!important;grid-template-columns:44px minmax(0,1fr) auto!important;grid-template-rows:48px!important;column-gap:10px!important;row-gap:0!important}
 .web-player .player-art-shell{grid-row:1!important;grid-column:1!important}
 .web-player .player-meta{grid-row:1!important;grid-column:2!important}
 .web-player .player-controls{grid-row:1!important;grid-column:3!important;gap:6px!important}
 .web-player .player-progress,.web-player .player-extra,.web-player #player-prev{display:none!important}
 .player-sheet{width:100%;height:100dvh;max-height:100dvh;border-radius:24px 24px 0 0;border:0;padding:calc(14px + env(safe-area-inset-top)) max(26px,calc((100vw - 420px)/2)) calc(24px + env(safe-area-inset-bottom))}
 .player-sheet-art{width:min(100%,340px,40dvh)}
 .player-sheet-close{margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.player-sheet-overlay,.player-sheet{transition:none}body.page-is-loading:before{animation:none}}

.player-sheet-overlay:not(.is-open){pointer-events:none}

@media(min-width:901px){body.has-bottom-popup .managed-popup-bar.bottom{bottom:112px}}
@media(max-width:900px){body.has-bottom-popup .web-player{bottom:calc(72px + env(safe-area-inset-bottom))!important}}

.web-player .player-extra .player-control{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:0;line-height:1}
.web-player .player-extra .player-control svg{flex-shrink:0;margin:0}
/* Use the same flexible columns, padding and gaps throughout the queue transition.
   Only the right edge changes, so controls and the seek track resize continuously. */
@media(min-width:901px){
 html{scrollbar-gutter:stable;overflow-y:scroll}
 body{--player-queue-width:clamp(240px,22vw,320px);--player-queue-motion:300ms cubic-bezier(.22,.61,.36,1)}
 .web-player,body.has-bottom-popup .web-player{position:fixed!important;top:auto!important;left:calc(var(--sidebar-w) + 24px)!important;right:24px!important;bottom:18px!important;transform:none!important;transition:right var(--player-queue-motion)}
 body.player-queue-open .web-player{right:calc(var(--player-queue-width) + 24px)!important}
}
.player-queue-sidebar[hidden]{display:none!important}
.player-queue-sidebar{position:fixed;right:0;top:0;bottom:0;z-index:100;width:var(--player-queue-width,320px);transform:translateX(100%);transition:transform var(--player-queue-motion);pointer-events:none;display:flex;flex-direction:column;background:rgba(30,32,39,.82);border-left:1px solid rgba(255,255,255,.14);box-shadow:-12px 0 34px rgba(0,0,0,.13);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);color:var(--text)}
.player-queue-sidebar.is-open{transform:translateX(0);pointer-events:auto}
@media(prefers-reduced-motion:reduce){.player-queue-sidebar,.web-player{transition:none!important}}
.player-queue-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);gap:10px;flex-shrink:0}
.player-queue-sidebar-head h2{margin:0;font-size:15px;color:inherit}
#player-queue-sidebar-close{border:0;background:transparent;color:inherit;width:30px;height:30px;padding:5px;cursor:pointer}
#player-queue-sidebar-close svg{display:block;width:20px;height:20px}
.player-queue-sidebar-list{overflow-y:auto;overscroll-behavior:contain;padding:10px;min-height:0;flex:1}
.player-queue-track{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;flex-shrink:0;padding:8px;text-align:left}
.player-queue-track img,.player-queue-art-placeholder{display:block;width:42px;height:42px;border-radius:6px;object-fit:cover;background:rgba(130,130,160,.18)}
.player-queue-copy{display:grid;gap:4px;min-width:0}
.player-queue-copy strong{font-size:13px;font-weight:600}
.player-queue-copy small{font-size:11px;color:var(--muted)}
.player-sheet .player-queue-copy small{color:rgba(255,255,255,.6)}
.player-queue-duration{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.player-sheet .player-queue-duration{color:rgba(255,255,255,.65)}
.player-queue-empty{font-size:13px;line-height:1.6;padding:10px;color:var(--muted)}
.player-sheet .player-queue-empty{color:rgba(255,255,255,.65)}
html[data-theme="light"] .player-queue-sidebar,body.light .player-queue-sidebar{background:rgba(250,250,253,.82);border-color:var(--line);box-shadow:-12px 0 34px rgba(40,45,55,.08)}
#player-queue[aria-expanded="true"],#player-sheet-queue-toggle[aria-expanded="true"]{background:rgba(130,130,160,.22);border-radius:8px}
@media(max-width:900px){
 .player-queue-sidebar{display:none!important}
 .player-sheet.is-queue-view{display:flex;flex-direction:column;overflow:hidden}
 .is-queue-view .player-sheet-close{flex-shrink:0}
 .is-queue-view .player-sheet-content{display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:70px minmax(0,1fr) 42px 84px 38px 44px;gap:10px 14px;min-height:0;flex:1}
 .is-queue-view .player-sheet-art{grid-column:1;grid-row:1;width:56px;height:56px;aspect-ratio:auto;margin:0;border-radius:8px;align-self:center}
 .is-queue-view .player-sheet-heading{grid-column:2;grid-row:1;margin:0;min-width:0}
 .is-queue-view .player-sheet-heading h2{font-size:18px}
 .is-queue-view .player-sheet-heading p{font-size:13px}
 .is-queue-view .player-sheet-queue{grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;min-height:0;overflow-y:auto;margin:0;padding:0;border:0}
 .is-queue-view .player-sheet-seek{grid-column:1/-1;grid-row:3}
 .is-queue-view .player-sheet-controls{grid-column:1/-1;grid-row:4;margin:0}
 .is-queue-view .player-sheet-volume{grid-column:1/-1;grid-row:5;margin:0}
 .is-queue-view .player-sheet-footer{grid-column:1/-1;grid-row:6}
}

@media(max-width:900px) and (max-height:500px){
 .player-sheet.is-queue-view{padding-top:8px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
 .is-queue-view .player-sheet-close{height:28px;margin-bottom:6px}
 .is-queue-view .player-sheet-content{grid-template-rows:56px minmax(0,1fr) 30px 52px 26px 32px;row-gap:6px}
 .is-queue-view .player-sheet-controls button{height:46px;width:46px}
 .is-queue-view .player-sheet-controls #player-sheet-toggle{height:52px;width:52px}
}


/* Speaker controls and capsule-shaped volume sliders. */
.player-sheet-volume{gap:10px}
.player-volume-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:5px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.player-volume-icon svg{display:block;width:20px;height:20px;flex-shrink:0}
.player-volume-icon:focus-visible{outline:2px solid currentColor;outline-offset:2px}
#player-sheet-volume,#player-volume-range{appearance:none;-webkit-appearance:none;flex:1;min-width:0;width:100%;height:30px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;--volume-fill:rgba(255,255,255,.85);--volume-track:rgba(255,255,255,.32)}
#player-volume-range{--volume-fill:var(--text);--volume-track:rgba(130,130,160,.3)}
#player-sheet-volume::-webkit-slider-runnable-track,#player-volume-range::-webkit-slider-runnable-track{height:6px;border:0;border-radius:999px;background:linear-gradient(to right,var(--volume-fill) 0%,var(--volume-fill) var(--player-volume,100%),var(--volume-track) var(--player-volume,100%),var(--volume-track) 100%)}
#player-sheet-volume::-webkit-slider-thumb,#player-volume-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border:0;border-radius:50%;background:transparent;box-shadow:none}
#player-sheet-volume::-moz-range-track,#player-volume-range::-moz-range-track{height:6px;border:0;border-radius:999px;background:var(--volume-track)}
#player-sheet-volume::-moz-range-progress,#player-volume-range::-moz-range-progress{height:6px;border-radius:999px;background:var(--volume-fill)}
#player-sheet-volume::-moz-range-thumb,#player-volume-range::-moz-range-thumb{width:20px;height:20px;border:0;background:transparent;box-shadow:none}
#player-sheet-volume:focus-visible,#player-volume-range:focus-visible{outline:2px solid var(--volume-fill);outline-offset:2px;border-radius:999px}
.player-volume-popover[hidden]{display:none!important}
.player-volume-popover{position:absolute;right:12px;top:50%;bottom:auto;transform:translateY(-50%);z-index:2;display:flex;align-items:center;gap:8px;width:240px;max-width:calc(100vw - 32px);padding:6px 10px;border:1px solid var(--player-surface-border);border-radius:999px;background:var(--player-surface);color:var(--text);box-shadow:0 8px 28px rgba(0,0,0,.22);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);animation:player-volume-in 180ms ease-out}
#player-volume-toggle[aria-expanded="true"]{background:rgba(130,130,160,.22);border-radius:8px}
html[data-theme="light"] .player-volume-popover,body.light .player-volume-popover{background:var(--player-surface);border-color:var(--player-surface-border)}
@keyframes player-volume-in{from{opacity:0;transform:translate(8px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
.web-player.volume-is-open .player-extra{visibility:hidden;pointer-events:none}
@media(max-width:900px){.player-volume-popover{display:none!important}}
@media(prefers-reduced-motion:reduce){.player-volume-popover{animation:none}}

/* Override form theme backgrounds so only the range track is painted. */
#player-range,#player-sheet-range,#player-volume-range,#player-sheet-volume{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0}
/* Match visible glyph heights to Play; the supplied SVGs have different built-in margins. */
.web-player .player-controls .player-control{display:inline-flex;align-items:center;justify-content:center;padding:0}
.web-player .player-controls .player-control svg,.web-player .player-extra .player-control svg{width:20px;height:20px;margin:0;flex-shrink:0}
.web-player #player-queue svg{width:22px;height:22px}
.web-player #player-like{font-size:18px}
.player-sheet .player-sheet-controls button{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;padding:0}
.player-sheet-controls svg{width:60px;height:60px;flex-shrink:0}
.player-sheet-controls #player-sheet-prev svg,.player-sheet-controls #player-sheet-next svg{width:50px;height:50px}
@media(max-width:900px) and (max-height:500px){
 .player-sheet .player-sheet-controls button,.player-sheet-controls #player-sheet-toggle{width:52px;height:52px}
 .player-sheet-controls svg{width:36px;height:36px}
 .player-sheet-controls #player-sheet-prev svg,.player-sheet-controls #player-sheet-next svg{width:30px;height:30px}
}


/* Readable mobile metadata and compact controls using the supplied SVGs. */
@media(max-width:900px){
 .web-player .player-meta strong{font-size:12px}
 .web-player .player-meta span{font-size:10px}
 .player-sheet-heading h2{font-size:18px;line-height:1.35}
 .player-sheet-heading p{font-size:13px;line-height:1.4}
 .is-queue-view .player-sheet-heading h2{font-size:16px}
 .is-queue-view .player-sheet-heading p{font-size:12px}
 .player-sheet .player-sheet-controls button,.player-sheet .player-sheet-controls #player-sheet-toggle{width:60px;height:60px}
 .player-sheet-controls svg{width:44px;height:44px}
 .player-sheet-controls #player-sheet-prev svg,.player-sheet-controls #player-sheet-next svg{width:37px;height:37px}
 .player-sheet-controls{margin:20px 0}
 .player-sheet-close svg{width:26px;height:9px}
}
.player-marquee{display:block;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:clip!important}
.web-player .player-meta .player-marquee-text,.player-sheet-heading .player-marquee-text{display:inline-block;width:max-content;max-width:none;white-space:nowrap;color:inherit;font:inherit;vertical-align:top}
.player-marquee.is-scrolling .player-marquee-text{animation:player-text-scroll var(--marquee-duration,8s) linear infinite alternate}
@keyframes player-text-scroll{0%,15%{transform:translateX(0)}85%,100%{transform:translateX(var(--marquee-shift,0px))}}
@media(max-width:900px) and (max-height:500px){
 .player-sheet .player-sheet-controls button,.player-sheet .player-sheet-controls #player-sheet-toggle{width:48px;height:48px}
 .player-sheet-controls svg{width:34px;height:34px}
 .player-sheet-controls #player-sheet-prev svg,.player-sheet-controls #player-sheet-next svg{width:28px;height:28px}
}
@media(prefers-reduced-motion:reduce){
 .player-marquee.is-scrolling .player-marquee-text{animation:none;transform:none}
 .player-marquee{text-overflow:ellipsis!important}
 .web-player .player-meta .player-marquee-text,.player-sheet-heading .player-marquee-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
}


/* Fit mobile controls below the artwork without accumulating section margins. */
@media(max-width:900px){
 .player-sheet:not(.is-queue-view){display:flex;flex-direction:column;overflow:hidden;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
 .player-sheet:not(.is-queue-view) .player-sheet-close{flex-shrink:0;height:32px;margin:0 0 10px}
 .player-sheet:not(.is-queue-view) .player-sheet-content{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1;justify-content:center}
 .player-sheet:not(.is-queue-view) .player-sheet-content>*{flex-shrink:0}
 .player-sheet:not(.is-queue-view) .player-sheet-art{width:min(100%,340px,calc(100dvh - 360px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin:0 auto 6px;transform:scale(.74);transform-origin:center;transition:transform 420ms cubic-bezier(.22,.61,.36,1)}
 .player-sheet.is-playing:not(.is-queue-view) .player-sheet-art{transform:scale(1)}
 .player-sheet:not(.is-queue-view) .player-sheet-heading{margin:0;min-height:44px}
 .player-sheet:not(.is-queue-view) .player-sheet-seek{min-height:44px}
 .player-sheet:not(.is-queue-view) .player-sheet-seek>div{margin-top:4px}
 .player-sheet:not(.is-queue-view) .player-sheet-controls{height:68px;margin:0;gap:16px}
 .player-sheet:not(.is-queue-view) .player-sheet-volume{margin:0;height:30px}
 .player-sheet:not(.is-queue-view) .player-sheet-footer{min-height:34px}
 .player-sheet .player-sheet-controls button{width:48px;height:48px}
 .player-sheet .player-sheet-controls #player-sheet-toggle{width:68px;height:68px}
 .player-sheet-controls #player-sheet-toggle svg{width:52px;height:52px}
 .player-sheet-controls #player-sheet-prev svg,.player-sheet-controls #player-sheet-next svg{width:28px;height:28px}
}
@media(max-width:900px) and (max-height:600px){
 .player-sheet:not(.is-queue-view){padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(10px + env(safe-area-inset-bottom))}
 .player-sheet:not(.is-queue-view) .player-sheet-close{height:28px;margin-bottom:6px}
 .player-sheet:not(.is-queue-view) .player-sheet-content{gap:6px}
 .player-sheet:not(.is-queue-view) .player-sheet-art{width:min(100%,220px,max(48px,calc(100dvh - 360px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));margin-bottom:0}
 .player-sheet:not(.is-queue-view) .player-sheet-controls{height:56px}
 .player-sheet:not(.is-queue-view) .player-sheet-footer{min-height:30px}
 .player-sheet .player-sheet-controls button{width:44px;height:44px}
 .player-sheet .player-sheet-controls #player-sheet-toggle{width:56px;height:56px}
 .player-sheet-controls #player-sheet-toggle svg{width:44px;height:44px}
 .player-sheet-controls #player-sheet-prev svg,.player-sheet-controls #player-sheet-next svg{width:26px;height:26px}
}
/* Allow exceptionally short landscape screens to retain all controls. */
@media(max-width:900px) and (max-height:360px){
 .player-sheet:not(.is-queue-view){overflow-y:auto}
 .player-sheet:not(.is-queue-view) .player-sheet-content{flex:none}
}
@media(prefers-reduced-motion:reduce){.player-sheet .player-sheet-art{transition:none!important}}


/* Keep the compact player anchored to the viewport on every mobile page. */
@media(max-width:900px){
 .web-player,body.has-bottom-popup .web-player{position:fixed!important;top:auto!important;transform:none!important;max-width:calc(100% - 24px);min-width:0;box-sizing:border-box}
 .web-player .player-meta,.web-player .player-controls{min-width:0;max-width:100%}
}
