body.queue-open{overflow:hidden}dialog.queue-sheet{color-scheme:dark;position:fixed;inset:auto 0 0;width:min(560px,100%);max-width:100%;height:min(74vh,760px);height:min(74dvh,760px);max-height:90vh;max-height:90dvh;margin:0 auto;padding:8px 20px max(20px,env(safe-area-inset-bottom));background:#111112;color:#eee;border:1px solid #ffffff0b;border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -20px 80px #0004;overflow:hidden}
dialog.queue-sheet[open]{display:flex;flex-direction:column;animation:queue-enter .22s ease-out}
.queue-grip{width:32px;height:4px;flex-shrink:0;border-radius:6px;background:#ffffff20;margin:2px auto 14px}
.queue-header{display:flex;align-items:center;gap:8px;flex-shrink:0}
.queue-header h2{font-size:19px;font-weight:650;margin:0;flex:1;white-space:nowrap}
.queue-header #queueSummary{font-size:14px;color:#858589;font-weight:400;margin-left:3px}
.queue-header-actions{display:flex;gap:0;flex-shrink:0}
.queue-icon{width:40px;height:44px;min-height:44px;display:grid;place-items:center;flex-shrink:0;padding:0;background:transparent;border:0;border-radius:8px;font-size:28px;line-height:1;color:#858589;cursor:pointer}
.queue-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.queue-icon:disabled{opacity:.3;cursor:default}
.queue-mode{display:flex;align-items:center;gap:8px;align-self:flex-start;flex-shrink:0;min-height:44px;border:0;background:transparent;color:#8f8f94;font-size:14px;padding:0 4px;margin:0 0 12px;cursor:pointer}
#queueModeIcon{font-size:24px}
.queue-sheet .queue-list{position:relative;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff25 transparent;flex:1;min-height:0;padding:4px 0 12px}
.queue-sheet .queue-row,.queue-sheet .queue-row.current{display:flex;align-items:center;gap:0;min-height:58px;padding:0;border:0;border-radius:0;background:transparent;position:relative}
.queue-song{min-width:0;flex:1;border:0;background:transparent;text-align:left;padding:12px 0;min-height:56px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;font:inherit;font-size:16px;color:#f1f1f2;cursor:pointer}
.queue-song .queue-title{font-size:16px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}
.queue-song .queue-artist{font-size:13px;color:#838388;margin:0 0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 2 auto;min-width:0}
.queue-playing{display:none}.current .queue-playing{display:inline;color:#6dc59b;font-size:18px;margin-right:8px}.current .queue-title{color:#6dc59b}
.queue-handle{font-size:19px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.queue-remove{font-size:27px}
.queue-sheet .queue-row.dragging{z-index:3;background:#29292d;box-shadow:0 8px 24px #0008;border-radius:8px;opacity:.95}.dragging .queue-handle{cursor:grabbing}.queue-sheet .queue-row.drop-target{box-shadow:inset 0 2px #6dc59b}
.queue-sheet .empty{color:#858589;font-size:14px;padding:50px 12px;text-align:center}
.queue-sheet button:focus-visible{outline:2px solid #7cba9d;outline-offset:-2px}
@media(hover:hover){.queue-sheet .queue-icon:not(:disabled):hover,.queue-song:hover{color:white;background:#ffffff08}}
@media(max-width:699px){dialog.queue-sheet{width:100%;height:74vh;height:74dvh;max-height:90dvh;padding:8px max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.queue-header h2{font-size:18px}.queue-header #queueSummary{font-size:13px}.queue-header-actions .queue-icon{width:34px}.queue-grip{margin-bottom:12px}.queue-sheet .queue-row{min-height:56px}.queue-song .queue-title{font-size:15px}.queue-song .queue-artist{font-size:12px}.queue-row>.queue-icon{width:36px}}
@keyframes queue-enter{from{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){dialog.queue-sheet[open]{animation:none}}
