/* Shared SoundCloud / YouTube queue, deliberately smaller than the artwork. */
body.nocturne .music-dock[data-unified-player]{overflow:visible}
body.nocturne .music-dock[data-unified-player] .dock-controls{gap:0}
body.nocturne .music-dock[data-unified-player] .dock-controls [data-dock-toggle]{width:44px;min-width:44px;max-width:44px;font-size:10px;gap:3px}
body.nocturne .music-dock[data-unified-player] .dock-controls [data-dock-toggle]::before{border-block-width:4px;border-left-width:5px}
body.nocturne .music-dock[data-unified-player][data-state=playing] .dock-controls [data-dock-toggle]::before{border-block-width:0;border-inline-width:2px}
body.nocturne .music-dock[data-unified-player] [data-dock-queue]{font-size:24px}
body.nocturne .music-dock[data-unified-player][data-expanded=false] .record-skin{display:none}
body.nocturne .music-dock[data-unified-player] .dock-track small{display:block}
body.nocturne .music-dock[data-unified-player] .dock-track strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nocturne .music-dock[data-unified-player][data-expanded=false] .dock-track strong{display:none}
body.nocturne .listening-queue[hidden]{display:none}
body.nocturne .listening-queue{
 position:absolute;inset:auto auto calc(100% + 8px) 50%;transform:translateX(-50%);width:430px;max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));
 max-height:min(68vh,550px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#796880 transparent;
 padding:12px;border:1px solid #aa88b355;border-radius:15px;background:#100d16;box-shadow:0 8px 40px #000a;text-align:left;color:#e5dbe4;
}
body.nocturne .listening-queue-head,body.nocturne .listening-queue-subhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.nocturne .listening-queue h3{margin:0;font:400 23px/1.2 var(--serif)}
body.nocturne .listening-queue h4{margin:0;font:400 13px/1.4 var(--body);color:#cebbd3}
body.nocturne .listening-queue button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;min-width:44px;width:auto;margin:0;padding:4px 8px;border:1px solid transparent;border-radius:8px;color:#e8dceb;background:transparent;font:400 16px/1.2 var(--body);cursor:pointer;touch-action:manipulation}
body.nocturne .listening-queue button:hover,body.nocturne .listening-queue button[aria-pressed=true]{background:#2b2031;border-color:#89709466}
body.nocturne .listening-queue button:focus-visible,body.nocturne .listening-queue summary:focus-visible{outline:2px solid #e4bbd7;outline-offset:1px}
body.nocturne .listening-queue button:disabled{opacity:.3;cursor:default}
body.nocturne .listening-queue-subhead button{font-size:11px;color:#baaabd}
body.nocturne .listening-now{margin:2px 0 0;font:400 13px/1.45 var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nocturne .listening-status{margin:3px 0 8px;font:400 11px/1.4 var(--body);color:#b4a3bc;min-height:16px}
body.nocturne .listening-next,body.nocturne .listening-library{list-style:none;padding:0;margin:0;display:grid;gap:3px}
body.nocturne .listening-next{max-height:184px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
body.nocturne .listening-item{display:flex;align-items:center;gap:3px;min-width:0;padding:2px 0;border-bottom:1px solid #a58bab19}
body.nocturne .listening-item-copy{min-width:0;flex:1;display:block}
body.nocturne .listening-item strong{display:block;font:400 12px/1.4 var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.nocturne .listening-item small{display:block;font:400 10px/1.5 var(--body);color:#a998af}
body.nocturne .listening-item-actions{display:flex;gap:0}
body.nocturne .listening-empty{margin:6px 0 14px;font:400 12px/1.5 var(--body);color:#b4a3bc}
body.nocturne .listening-empty[hidden]{display:none}
body.nocturne .listening-browse{margin-top:10px;border-top:1px solid #a58bab2a}
body.nocturne .listening-browse summary{min-height:44px;display:list-item;align-content:center;margin-left:15px;cursor:pointer;font:400 13px/1.5 var(--body);color:#d5c2dd}
body.nocturne .listening-filters{display:flex;gap:4px;margin-block:4px 6px}
body.nocturne .listening-filters button{font-size:11px}
body.nocturne .listening-library{max-height:220px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
body.nocturne .video-dialog .music-dock[data-in-dialog=true]{position:relative;inset:auto;transform:none;width:100%;max-width:100%;margin:16px 0 0;flex-shrink:0;z-index:1}
body.nocturne .video-dialog .music-dock[data-in-dialog=true] .listening-queue{position:static;inset:auto;transform:none;width:100%;max-width:100%;max-height:42vh;flex-basis:100%;order:3;box-shadow:none}
body.nocturne .video-dialog .music-dock[data-in-dialog=true][data-queue-open=true]{flex-wrap:wrap}
@media(max-width:379px){
 body.nocturne .listening-queue{padding:9px}
 body.nocturne .listening-item{flex-wrap:wrap}
 body.nocturne .listening-next .listening-item-copy{flex-basis:calc(100% - 50px)}
 body.nocturne .listening-item-actions{margin-left:auto}
 body.nocturne .music-dock[data-unified-player][data-expanded=true]{gap:3px}
}
@media(max-height:430px){body.nocturne .listening-queue{max-height:calc(100dvh - 85px)}body.nocturne .listening-next{max-height:100px}}
@media(forced-colors:active){body.nocturne .listening-queue{background:Canvas;color:CanvasText;border-color:CanvasText}body.nocturne .listening-queue button{background:ButtonFace;color:ButtonText;border-color:ButtonText}body.nocturne .listening-item{border-color:CanvasText}}
/* A small optional blend control; only the SoundCloud transport overlaps audio. */
body.nocturne .listening-crossfade{padding:4px 0 8px;margin:3px 0 5px;border-bottom:1px solid #a58bab24}
body.nocturne .crossfade-settings{display:flex;align-items:center;gap:8px;min-height:44px}
body.nocturne .crossfade-settings [data-crossfade-toggle]{min-height:44px;padding:3px 1px;font:400 11px/1.2 var(--body);gap:5px;color:#c6b7ce}
.crossfade-mark{font:400 20px/1 var(--body);color:#bc9fc8}
.crossfade-knob{position:relative;display:block;width:24px;height:14px;flex:none;border:1px solid #6c5d74;border-radius:9px;background:#26202e}
.crossfade-knob::after{content:'';position:absolute;top:2px;left:2px;width:8px;height:8px;border-radius:50%;background:#a797b0}
[data-crossfade-toggle][aria-checked=true] .crossfade-knob{background:#4c355a;border-color:#b18dc1}
[data-crossfade-toggle][aria-checked=true] .crossfade-knob::after{left:12px;background:#e1c7eb}
body.nocturne .crossfade-settings input{appearance:none;-webkit-appearance:none;flex:1;min-width:30px;width:80px;height:44px;padding:0;margin:0;border:0;background:transparent;cursor:pointer;accent-color:#c6a6d3;touch-action:pan-y}
body.nocturne .crossfade-settings input::-webkit-slider-runnable-track{height:3px;background:#61506d;border-radius:3px}
body.nocturne .crossfade-settings input::-moz-range-track{height:3px;background:#61506d;border-radius:3px}
body.nocturne .crossfade-settings input::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:16px;margin-top:-6px;border:1px solid #ddc1e6;border-radius:3px;background:#8e6c9b}
body.nocturne .crossfade-settings input::-moz-range-thumb{width:10px;height:16px;border:1px solid #ddc1e6;border-radius:3px;background:#8e6c9b}
body.nocturne .crossfade-settings input:disabled{opacity:.35;cursor:default}
body.nocturne .crossfade-settings input:focus-visible{outline:2px solid #e4bbd7;outline-offset:1px}
body.nocturne .crossfade-settings output{min-width:3ch;color:#bbaaC5;font:400 10px/1.4 var(--mono);text-align:right}
body.nocturne .crossfade-note{margin:0;font:400 10px/1.45 var(--body);color:#a697ae}
@media(forced-colors:active){body.nocturne .crossfade-settings input{appearance:auto;-webkit-appearance:auto}.crossfade-knob{background:Canvas;border-color:ButtonText}.crossfade-knob::after{background:ButtonText}body.nocturne .crossfade-settings output,body.nocturne .crossfade-note{color:CanvasText}}
