.playlist-module__header--asideFront,
.playlist-module__header--bside{
  position:relative;
  padding-left:58px;
  padding-right:58px;
  overflow:visible;
}
.playlist-favoriteStar{
  --favorite-color:#c5b43a;
  position:absolute;
  left:0;
  top:50%;
  width:52px;
  height:52px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  transform:translateY(-50%);
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  z-index:2;
  color:inherit;
}
.playlist-favoriteStar__image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  pointer-events:none;
  user-select:none;
  opacity:.6;
  filter:grayscale(1) drop-shadow(0 1px 1px rgba(0,0,0,.3));
  transition:opacity .18s ease, filter .18s ease;
}
.playlist-favoriteStar.is-on .playlist-favoriteStar__image{
  opacity:1;
  filter:drop-shadow(0 0 10px color-mix(in srgb, var(--favorite-color) 78%, transparent));
}
.playlist-favoriteStar:focus-visible{
  outline:2px solid var(--favorite-color);
  outline-offset:3px;
  border-radius:8px;
}
.playlist-favoriteStar--inline{
  position:relative;
  left:auto;
  top:auto;
  width:36px;
  height:36px;
  transform:none;
  flex:0 0 36px;
}
.playlist-share{
  position:absolute;
  right:0;
  top:50%;
  width:52px;
  height:52px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  transform:translateY(-50%);
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  z-index:2;
  color:inherit;
  display:grid;
  place-items:center;
}
.playlist-share svg{
  width:26px;
  height:26px;
  display:block;
  pointer-events:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.82;
}
.playlist-share:hover svg,
.playlist-share:focus-visible svg{
  opacity:1;
}
.playlist-share:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
  border-radius:8px;
}
.playlist-shareStatus{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:14000;
  transform:translateX(-50%);
  max-width:min(420px, calc(100vw - 32px));
  padding:10px 14px;
  border-radius:12px;
  background:#10151d;
  color:#f4f8ff;
  font:14px/1.35 inherit;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.playlist-shareStatus:empty{
  display:none;
}
.playlist-favoriteConfirm{
  position:fixed;
  inset:0;
  z-index:14000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(4,8,14,.72);
}
.playlist-favoriteConfirm__card{
  width:min(360px,100%);
  padding:22px 20px 18px;
  border:1px solid rgba(220,230,245,.16);
  border-radius:16px;
  background:#10151d;
  color:#f4f8ff;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  font-family:inherit;
}
.playlist-favoriteConfirm__card p{
  margin:0 0 10px;
  line-height:1.45;
}
.playlist-favoriteConfirm__card p:first-child{
  font-size:1.05rem;
  font-weight:700;
}
.playlist-favoriteConfirm__actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:16px;
}
.playlist-favoriteConfirm__actions button{
  min-width:88px;
  min-height:40px;
  padding:8px 14px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.16);
  background:transparent;
  color:inherit;
  cursor:pointer;
}
.playlist-favoriteConfirm__yes{
  background:var(--favorite-color,#c5b43a);
  color:#16120a;
  border-color:transparent;
  font-weight:700;
}
.harlemWorld{
  --favorite-color:#c5b43a;
}
.harlemWorld__search{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.harlemWorld__search input{
  flex:1 1 140px;
  width:auto;
}
.harlemWorld__searchFavorites[aria-pressed="true"],
.harlemWorld__control[aria-pressed="true"]{
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--favorite-color) 55%, transparent);
}
.harlemWorld__result.is-favorite{
  background:color-mix(in srgb, var(--favorite-color) 26%, rgba(8,14,24,.92));
  box-shadow:0 0 22px color-mix(in srgb, var(--favorite-color) 48%, transparent);
}
.harlemWorld__result.is-favorite strong{
  color:color-mix(in srgb, var(--favorite-color) 70%, #fff);
}
.harlemWorld__field input[type="color"]{
  width:100%;
  height:28px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
@media (max-width:760px){
  .playlist-module__header--asideFront,
  .playlist-module__header--bside{padding-left:50px;padding-right:50px}
  .playlist-favoriteStar:not(.playlist-favoriteStar--inline),
  .playlist-share{width:46px;height:46px}
}
@media (min-width:981px){
  .playlist-module__header--asideFront{padding-right:42px}
  .playlist-module__header--asideFront .playlist-share{width:36px;height:36px}
  .playlist-module__header--asideFront .playlist-share svg{width:22px;height:22px}
}
