:root{color-scheme:dark;font-family:Segoe UI,SF Pro Display,sans-serif;background:#0c0d10;color:#f5f5f7}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#0c0d10;overflow:hidden}button,input{font:inherit}button{border:0;background:#1b1e24;color:#fff;cursor:pointer}button:disabled{opacity:.55;cursor:default}input{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#15181d;color:#fff;padding:.95rem 1rem;outline:none}#root{min-height:100vh}.appShell{position:relative;isolation:isolate;min-height:100vh;max-width:1400px;margin:0 auto;padding:28px;display:block}.backgroundStage{position:fixed;inset:0;pointer-events:none;z-index:-2;overflow:hidden}.backgroundStage:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at 18% 28%,var(--accent-glow, rgba(168, 85, 247, .5)),transparent 0 24%),radial-gradient(circle at 78% 18%,var(--accent-secondary, #7c3aed) 0%,transparent 26%),radial-gradient(circle at 54% 86%,var(--accent-tertiary, #f472b6) 0%,transparent 24%),radial-gradient(circle at top,rgba(255,255,255,.04),transparent 34%),linear-gradient(180deg,#07080b57,#0a0c10c2)}.backgroundLayer{position:absolute;inset:0;width:100%;height:100%}.colorBendsLayer{opacity:1;filter:saturate(1.35) blur(16px)}.dotFieldLayer{opacity:.82;mix-blend-mode:screen}.playerCard,.queueModal{border:1px solid rgba(255,255,255,.07);border-radius:28px;background:linear-gradient(180deg,#171a20c7,#0d0f14eb),#111318bd;box-shadow:0 24px 80px #00000038;-webkit-backdrop-filter:blur(18px) saturate(1.05);backdrop-filter:blur(18px) saturate(1.05)}.playerCard{padding:24px;display:grid;gap:14px;align-content:start}.playerCard.wide{min-height:0}.playerTopbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.statusCluster{display:flex;align-items:center;gap:8px}.queueToggle{border-radius:14px;padding:.75rem 1rem;background:#1f232a;transition:transform .18s cubic-bezier(.2,.9,.2,1.25),box-shadow .18s ease,background .18s ease}.queueToggle:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 10px 24px #0000002e}.queueToggle:active{transform:translateY(1px) scale(.97)}.playerLayout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:center}.mediaColumn{display:grid;gap:14px}.controlColumn{display:grid;gap:24px}.coverWrap{width:320px}.coverArtLarge,.coverFallback{width:100%;aspect-ratio:1 / 1;border-radius:24px}.coverArtLarge{object-fit:cover;display:block}.coverFallback{display:grid;place-items:center;background:linear-gradient(135deg,#ff6a00,#23262d);color:#fff;font-size:4rem;font-weight:700}.playerMeta h1,.queueHeader h2{margin:0}.playerMeta.centered{text-align:center}.playerMeta p,.queueHeader p,.queueText span,.queueEmpty{margin:0;color:#9ea4af}.addedByLabel,.queueAddedBy{display:block;color:#767d88;font-size:.82rem}.miniRow{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.centeredRow{justify-content:center}.pill{padding:.35rem .7rem;border-radius:999px;background:#ff6a0026;color:#ffb37b;font-size:.8rem}.pill.subtle{background:#ffffff0f;color:#c0c5ce}.progressBlock{display:grid;gap:.55rem;padding-top:10px}.timelineRow{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;color:#b8bec8;font-size:.9rem}.progress{width:100%;height:28px;appearance:none;-webkit-appearance:none;border:0;padding:0;background-color:transparent;outline:none;cursor:pointer}.progress::-webkit-slider-runnable-track{height:2px;border-radius:999px;background:linear-gradient(#ff6a00 0 0) left center / var(--progress, 0%) 2px no-repeat,#ffffff29}.progress::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:0;height:0;border:0}.progress::-moz-range-track{height:2px;border:0;border-radius:999px;background:#ffffff29}.progress::-moz-range-progress{height:2px;border-radius:999px;background:#ff6a00}.progress::-moz-range-thumb{width:0;height:0;border:0}.controlsBar{display:flex;align-items:center;gap:16px}.controlsBar.compact{display:grid;grid-template-columns:34px 58px 34px;align-items:center;justify-content:center;gap:12px}.controlsBar.compact:before{content:"";width:34px;height:34px}.controlsBar.compact .playButton.round{grid-column:2}.controlsBar.compact .transportButton{grid-column:3}.iconButton,.playButton,.ghostButton{border-radius:16px;padding:.85rem 1rem}.playButton{min-width:120px;background:linear-gradient(135deg,#ff6a00,#ff8f3f);color:#120d09;font-weight:700;transition:transform .22s cubic-bezier(.2,.9,.2,1.3),box-shadow .18s ease,filter .18s ease}.playButton.round{min-width:58px;width:58px;height:58px;padding:0;border-radius:50%;font-size:1.2rem}.playButton:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 12px 28px #ff6a0052;filter:saturate(1.05)}.playButton:active{transform:translateY(1px) scale(.94)}.iconButton{min-width:84px;background:#1c1f25}.transportButton{width:34px;height:34px;border-radius:50%;padding:0;background:transparent;display:grid;place-items:center;font-size:1rem;transition:transform .18s cubic-bezier(.2,.9,.2,1.28),opacity .16s ease}.transportButton:hover{transform:scale(1.18)}.transportButton:active{transform:scale(.88)}.transportButton.ghost{background:transparent;color:#8f95a0}.volumeRow{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:12px;color:#c0c5ce;width:214px;margin-inline:auto}.elasticVolumeRow{width:214px}.elasticSlider{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;--elastic-percent: 0%;--elastic-thumb-scale: 1;--elastic-stretch: 1}.elasticSliderIcon{display:grid;place-items:center;width:18px;height:18px;color:#ffffffe6;transition:transform .18s cubic-bezier(.2,.9,.2,1.22)}.elasticSlider.is-hovered .elasticSliderIcon,.elasticSlider.is-active .elasticSliderIcon{transform:scale(1.08)}.elasticSliderTrackWrap{position:relative;height:28px;display:flex;align-items:center}.elasticSliderTrack{position:relative;width:100%;height:2px;border-radius:999px;background:#ffffff29;transition:background .18s ease}.elasticSliderFill{position:absolute;inset:0 auto 0 0;width:var(--elastic-percent);border-radius:inherit;background:#fff;will-change:width}.elasticSliderThumb{position:absolute;top:50%;left:var(--elastic-percent);width:10px;height:10px;border-radius:50%;background:#fff;transform:translate(-50%,-50%) scale(var(--elastic-thumb-scale));box-shadow:0 0 0 4px #ffffff0f;transition:transform .18s cubic-bezier(.2,.9,.2,1.22),box-shadow .18s ease;will-change:left,transform}.elasticSlider.is-hovered .elasticSliderTrack{background:#fff3}.elasticSlider.is-active .elasticSliderFill{transform:scaleY(1.35);transition:transform .12s ease}.elasticSlider.is-active .elasticSliderThumb{box-shadow:0 0 0 7px #ffffff17;transition:transform .12s ease,box-shadow .12s ease}.elasticSlider.is-active .elasticSliderFill,.elasticSlider.is-active .elasticSliderThumb{transition-duration:0ms}.elasticSliderInput{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.volumeSlider{width:100%;height:28px;cursor:pointer;display:flex;align-items:center;touch-action:none;outline:none}.volumeSliderTrack{position:relative;width:100%;height:2px;border-radius:999px;background:#ffffff29}.volumeSliderFill{position:absolute;inset:0 auto 0 0;width:var(--volume, 80%);border-radius:inherit;background:#fff}.volumeSliderThumb{position:absolute;top:50%;left:var(--volume, 80%);width:10px;height:10px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #ffffff14}.volumeIcon{position:static;display:grid;place-items:center;width:18px;height:18px;font-size:.9rem;line-height:1}.inlineError{margin:0;color:#ff9a8d}.queueHeader{display:flex;align-items:center;justify-content:space-between}.queueHeaderActions{display:flex;align-items:center;gap:0}.queueList{display:grid;gap:10px;align-content:start;overflow:auto}.queueItem{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:10px;border-radius:18px;background:#14171ccc}.queueThumb{width:52px;height:52px;border-radius:14px;object-fit:cover}.queueThumb.fallback{display:grid;place-items:center;background:#23272f;color:#ffb37b;font-weight:700}.queueText{min-width:0;display:grid;gap:4px}.queueText strong,.queueText span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queueDuration{color:#8d939e;font-size:.86rem}.ghostButton{padding:.6rem .8rem;background:#20242b;transition:transform .18s cubic-bezier(.2,.9,.2,1.24),box-shadow .18s ease,background .18s ease}.ghostButton:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 10px 22px #00000029;background:#272c35}.ghostButton:active{transform:translateY(1px) scale(.95)}.queueEmpty{padding:20px 0}.modalBackdrop{position:fixed;inset:0;background:#07080b9e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .22s ease}.queueModal{width:min(820px,100%);max-height:min(80vh,760px);padding:22px;display:grid;grid-template-rows:auto auto 1fr;gap:16px;overflow:hidden;opacity:0;transform:translateY(28px) scale(.98);transition:opacity .24s ease,transform .24s cubic-bezier(.2,.9,.2,1)}.modalBackdrop.isOpen{opacity:1}.queueModal.isOpen{opacity:1;transform:translateY(0) scale(1)}.queueComposer{display:grid;grid-template-columns:1fr auto;gap:10px}.queueComposer button{min-width:88px;background:#23272f;border-radius:14px;transition:transform .18s cubic-bezier(.2,.9,.2,1.24),box-shadow .18s ease,background .18s ease}.queueComposer button:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 10px 22px #00000029;background:#2a303a}.queueComposer button:active{transform:translateY(1px) scale(.95)}.closeButton{width:40px;height:40px;padding:0;border-radius:50%;transform-origin:center}@media(max-width:980px){body{overflow:auto}.appShell{padding:16px}.playerCard{padding:20px}.playerTopbar{flex-wrap:wrap}.coverWrap{width:100%}.playerLayout{grid-template-columns:1fr;gap:22px}.controlColumn{gap:18px}.timelineRow{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px}.volumeRow{transform:none}.queueModal{width:min(760px,100%);max-height:min(86vh,760px)}}@media(max-width:640px){.appShell{padding:12px}.playerCard{padding:16px;border-radius:22px}.queueToggle{width:100%;justify-content:center}.playerTopbar{align-items:stretch}.coverWrap{max-width:100%}.playerMeta h1{font-size:1.55rem;line-height:1.15}.playerMeta p{font-size:.95rem}.timelineRow{grid-template-columns:34px minmax(0,1fr) 34px;font-size:.82rem}.controlsBar.compact{grid-template-columns:38px 54px 38px;gap:10px}.playButton.round{min-width:54px;width:54px;height:54px}.transportButton{width:38px;height:38px}.volumeRow,.elasticVolumeRow{width:min(100%,280px)}.modalBackdrop{padding:0;align-items:end}.queueModal{width:100%;min-height:58dvh;max-height:78dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;gap:12px;box-shadow:0 -24px 64px #00000052;transform:translateY(44px)}.queueHeader{gap:12px;align-items:flex-start;position:sticky;top:0;z-index:2;padding-bottom:10px;background:linear-gradient(180deg,#171a20f0,#111318db);border-bottom:1px solid rgba(255,255,255,.06)}.queueHeader p{font-size:.9rem}.queueComposer{grid-template-columns:1fr;position:sticky;top:74px;z-index:1;padding-top:4px;padding-bottom:4px;background:linear-gradient(180deg,#171a20e6,#111318d1)}.queueComposer button{min-width:0;width:100%}.queueList{align-content:start;overflow:auto;padding-right:2px}.queueItem{grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:"thumb text duration" "thumb actions actions";align-items:start;gap:10px 12px}.queueItem>.queueThumb,.queueItem>.queueThumb.fallback{grid-area:thumb}.queueText{grid-area:text}.queueDuration{grid-area:duration;align-self:center;justify-self:end}.queueItem>.ghostButton{min-width:72px}.queueItem>.ghostButton:nth-last-child(2),.queueItem>.ghostButton:last-child{grid-area:actions}.queueItem>.ghostButton:nth-last-child(2){justify-self:start}.queueItem>.ghostButton:last-child{justify-self:end}}@media(max-width:420px){.playerCard{padding:14px}.playerMeta h1{font-size:1.35rem}.queueItem{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"thumb text" "duration duration" "actions actions"}.queueModal{min-height:62dvh;max-height:82dvh;padding-inline:14px}.queueHeader{top:0}.queueComposer{top:72px}.queueDuration{justify-self:start}}
