﻿:root{
  --nkm-bg:#1b0a2b;
  --nkm-row:#2a1142;
  --nkm-row-hover:#341454;
  --nkm-accent:#f3c969;   /* gold */
  --nkm-text:#f5ecff;
  --nkm-dim:#bda9db;
  --nkm-border:rgba(255,255,255,0.06);
  --nkm-radius:12px;
  --nkm-pad:12px;
  --nkm-fast:200ms;
  /* ranges */
  --nkm-bg-1:#14081f;
  --nkm-bg-2:#1e0f2c;
  --nkm-chip:#2b163b;
  --nkm-accent-2:#f7d98a;
  --nkm-range-track:#3b234f;
}
#nkm-app{ color:var(--nkm-text); font-size:14px; }
.nkm-table{ background:var(--nkm-bg); padding:8px; border-radius:var(--nkm-radius); }
/* table grid */
.nkm-head,.nkm-row{
  display:grid;
  grid-template-columns: 56px minmax(200px,2.5fr) minmax(130px,1.2fr) minmax(150px,1.2fr) minmax(68px,0.9fr) minmax(72px,0.9fr) minmax(120px,1fr) minmax(120px, max-content);
  gap:8px; align-items:center;
}
.nkm-head{
  font-weight:600; color:var(--nkm-accent);
  padding:8px var(--nkm-pad);
  background:var(--nkm-row); border-radius:12px 12px 0 0;
}
.nkm-head{ display:grid; grid-template-columns:56px minmax(200px,2.5fr) minmax(130px,1.2fr) minmax(150px,1.2fr) minmax(68px,0.9fr) minmax(72px,0.9fr) minmax(120px,1fr) minmax(120px, max-content); gap:8px; align-items:center; }
.nkm-row{
  background:var(--nkm-row);
  padding:8px var(--nkm-pad);
  border:1px solid var(--nkm-border);
  border-radius:var(--nkm-radius);
  margin-bottom:8px;
  transition:background var(--nkm-fast);
}
.nkm-row:hover{ background:var(--nkm-row-hover); }
.nkm-title{ color:var(--nkm-text); text-decoration:none; font-weight:600; }
.nkm-artist{ color:var(--nkm-dim); font-size:13px; white-space:nowrap; }
.nkm-price{ color:var(--nkm-accent); }
.nkm-bpm,.nkm-duration{ color:var(--nkm-dim); }
.nkm-chip.nkm-chip--more{
  cursor:pointer;
  background:rgba(243,201,105,0.08);
  border-style:dashed;
}
.nkm-chip.nkm-chip--more:hover,
.nkm-chip.nkm-chip--more:focus-visible{
  background:rgba(243,201,105,0.18);
  border-color:rgba(243,201,105,0.45);
}
.nkm-btn{ background:transparent; border:1px solid var(--nkm-border); color:var(--nkm-text); padding:6px 10px; border-radius:10px; cursor:pointer; }
.nkm-btn:hover{ border-color:var(--nkm-accent); }
.nkm-btn--primary{
  background:var(--nkm-accent); color:#1b0a2b;
  border-color:var(--nkm-accent);
  box-shadow:0 10px 30px rgba(243,201,105,0.25);
}
.nkm-btn--primary:hover{
  background:#ffd78b;
  border-color:#ffd78b;
}
.nkm-play{
  position:relative;
  width:44px;
  height:44px;
  border-radius:14px;
  padding:0;
  border:1px solid rgba(243,201,105,0.45);
  background:var(--nkm-row-hover);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform var(--nkm-fast), box-shadow var(--nkm-fast), border-color var(--nkm-fast);
}
.nkm-play::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--nkm-play-bg);
  background-size:cover;
  background-position:center;
  filter:saturate(1) brightness(0.94);
  transition:filter var(--nkm-fast), transform var(--nkm-fast);
}
.nkm-play::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(243,201,105,0.12);
  opacity:0.32;
  transition:opacity var(--nkm-fast);
}
.nkm-play svg{
  position:relative;
  z-index:1;
  width:20px;
  height:20px;
  color:#ffffff;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,0.45));
  transition:color var(--nkm-fast), filter var(--nkm-fast);
}
.nkm-play:hover,
.nkm-play:focus-visible,
.nkm-row:hover .nkm-play{
  border-color:rgba(243,201,105,0.6);
  box-shadow:0 12px 28px rgba(243,201,105,0.3);
  transform:translateY(-1px) scale(1.03);
  outline:none;
}
.nkm-play:hover::before,
.nkm-play:focus-visible::before,
.nkm-row:hover .nkm-play::before{
  filter:saturate(1.1) brightness(1.05);
  transform:scale(1.05);
}
.nkm-play:hover::after,
.nkm-play:focus-visible::after,
.nkm-row:hover .nkm-play::after{
  opacity:0.55;
}
.nkm-play:hover svg,
.nkm-play:focus-visible svg,
.nkm-row:hover .nkm-play svg{
  color:#1b0a2b;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.35));
}
.nkm-play:focus-visible{
  outline:2px solid rgba(243,201,105,0.45);
  outline-offset:3px;
}
.nkm-cart{ background:rgba(243,201,105,0.12); border-color:rgba(243,201,105,0.35); color:var(--nkm-accent); }
.nkm-cart:hover{ background:rgba(243,201,105,0.2); }
.nkm-cart.is-loading{ opacity:0.65; pointer-events:none; }
.nkm-cart.is-added{ background:rgba(243,201,105,0.85); color:#1b0a2b; border-color:rgba(243,201,105,0.9); }
.nkm-cart.is-error{ background:rgba(220,53,69,0.18); border-color:rgba(220,53,69,0.4); color:#ffd7dd; }
.nkm-caret{ width:32px; }
.nkm-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.nkm-row__excerpt{
  grid-column:1 / -1;
  color:var(--nkm-dim);
  font-size:13px;
  line-height:1.45;
  margin-top:8px;
  align-self:start;
  overflow-wrap:anywhere;
}
.nkm-related{
  margin-top:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.nkm-related__title{
  font-weight:600;
  color:var(--nkm-accent);
  font-size:14px;
}
.nkm-related__list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.nkm-related__item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid rgba(243,201,105,0.25);
  background:rgba(243,201,105,0.08);
  color:var(--nkm-text);
  text-decoration:none;
  transition:background var(--nkm-fast), border-color var(--nkm-fast), transform var(--nkm-fast);
}
.nkm-related__item:hover,
.nkm-related__item:focus-visible{
  background:rgba(243,201,105,0.18);
  border-color:rgba(243,201,105,0.45);
  transform:translateY(-1px);
  outline:none;
}
.nkm-related__thumb{
  width:36px;
  height:36px;
  border-radius:10px;
  object-fit:cover;
  background:rgba(243,201,105,0.12);
  flex-shrink:0;
}
.nkm-related__thumb--fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  color:var(--nkm-accent);
}
.nkm-related__name{
  font-size:13px;
  line-height:1.3;
  max-width:180px;
  color:var(--nkm-text);
}
.nkm-related__item:focus-visible{
  outline:2px solid rgba(243,201,105,0.45);
  outline-offset:3px;
}
.nkm-row__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  justify-self:end;
  min-width:152px;
  align-self:center;
}
.nkm-cards{
  display:grid;
  grid-template-columns: var(--nkm-card-cols, repeat(auto-fill, minmax(260px, 1fr)));
  gap: var(--nkm-card-gap, 14px);
  margin-top:4px;
}
.nkm-card{
  display:grid !important;
  grid-template-columns:120px 1fr;
  gap:14px;
  align-items:stretch;
  padding:14px;
  border:1px solid var(--nkm-border);
  background:var(--nkm-row);
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,0.18);
}
.nkm-card__media{
  position:relative;
  width:100%;
  min-height:120px;
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,0.04);
  display:flex;
  align-items:center;
  justify-content:center;
}
.nkm-card__media-img{
  width:100%;
  height:100%;
  background-size:cover;
  background-position:center;
  border-radius:inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:10px;
}
.nkm-card__media-img--placeholder{
  background:rgba(243,201,105,0.08);
  color:var(--nkm-accent);
  font-weight:700;
  font-size:22px;
}
.nkm-card__media .nkm-play{
  position:relative;
  width:56px;
  height:56px;
  border-radius:18px;
  border:1px solid rgba(243,201,105,0.85);
  background:radial-gradient(circle at 32% 28%, rgba(255,255,255,0.2), rgba(27,10,43,0.85));
  box-shadow:0 12px 28px rgba(0,0,0,0.42), 0 0 0 6px rgba(27,10,43,0.45), 0 0 22px rgba(243,201,105,0.45);
  isolation:isolate;
}
.nkm-card__media .nkm-play::before{
  filter:saturate(1.05) brightness(0.9) blur(0.5px);
}
.nkm-card__media .nkm-play::after{
  opacity:0.7;
  background:linear-gradient(135deg, rgba(27,10,43,0.8), rgba(243,201,105,0.35));
}
.nkm-card__media .nkm-play svg{
  width:26px;
  height:26px;
  color:#fff8e1;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,0.6));
}
.nkm-card__media .nkm-play:hover,
.nkm-card__media .nkm-play:focus-visible{
  border-color:rgba(243,201,105,0.95);
  transform:translateY(-2px) scale(1.08);
  box-shadow:0 18px 40px rgba(0,0,0,0.5), 0 0 0 8px rgba(243,201,105,0.28), 0 0 28px rgba(243,201,105,0.55);
}
.nkm-card__media .nkm-play:hover::after,
.nkm-card__media .nkm-play:focus-visible::after{
  opacity:0.9;
  background:linear-gradient(135deg, rgba(243,201,105,0.6), rgba(27,10,43,0.82));
}
.nkm-card__media .nkm-play:hover svg,
.nkm-card__media .nkm-play:focus-visible svg{
  color:#1b0a2b;
  filter:drop-shadow(0 4px 8px rgba(243,201,105,0.45));
}
.nkm-card__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.nkm-card__titlebar{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.nkm-card__artist{
  color:var(--nkm-dim);
  font-size:13px;
}
.nkm-card__chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.nkm-card__stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
  color:var(--nkm-dim);
  font-size:13px;
}
.nkm-card__excerpt{
  color:var(--nkm-dim);
  line-height:1.5;
  font-size:13px;
}
.nkm-card__actions .nkm-row__actions{
  justify-content:flex-end;
  min-width:0;
  gap:10px;
  width:100%;
}
.nkm-stat{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(243,201,105,0.08);
  border:1px solid rgba(243,201,105,0.18);
  color:var(--nkm-text);
  font-weight:600;
}
.nkm-row .nkm-fav--row,
.nkm-row .nkm-share--row,
.nkm-row .nkm-cart,
.nkm-row .nkm-project-add,
.nkm-row .nkm-caret{
  width:36px;
  height:36px;
  min-width:36px;
  padding:0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  background:rgba(243,201,105,0.12);
  border:1px solid rgba(243,201,105,0.35);
  color:var(--nkm-accent);
  justify-self:center;
  align-self:center;
  margin:0;
  position:relative;
  transition:background var(--nkm-fast), border-color var(--nkm-fast), color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-row .nkm-fav--row .nkm-fav__icon,
.nkm-row .nkm-cart .nkm-cart__icon,
.nkm-row .nkm-project-add .nkm-project-add__icon,
.nkm-row .nkm-caret__icon{
  font-size:18px;
  line-height:1;
}
.nkm-row .nkm-cart .nkm-cart__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.nkm-row .nkm-cart .nkm-sr-only,
.nkm-row .nkm-project-add .nkm-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.nkm-row__actions > a.added_to_cart.wc-forward{
  display:none !important;
}
.nkm-row .nkm-fav--row:is(:hover,:focus-visible),
.nkm-row .nkm-cart:is(:hover,:focus-visible),
.nkm-row .nkm-project-add:is(:hover,:focus-visible),
.nkm-row .nkm-caret:is(:hover,:focus-visible){
  background:rgba(243,201,105,0.2);
  border-color:rgba(243,201,105,0.45);
  color:var(--nkm-accent);
  outline:none;
}
.nkm-row .nkm-fav--row.is-active,
.nkm-row .nkm-cart.is-added,
.nkm-row .nkm-project-add.is-active,
.nkm-row .nkm-caret.is-active{
  background:rgba(243,201,105,0.28);
  border-color:rgba(243,201,105,0.6);
  color:var(--nkm-accent);
  box-shadow:0 0 0 1px rgba(243,201,105,0.15);
}
.nkm-caret__icon{
  width:18px;
  height:18px;
}
.nkm-head__fav{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  color:var(--nkm-accent);
  padding:12px 0;
}
/* drawer */
.nkm-drawer{ display:none; opacity:0; }
.nkm-drawer.is-open{ display:block; opacity:1; }
.nkm-drawer__inner{
  padding:10px var(--nkm-pad) 14px;
  border-left:2px solid var(--nkm-accent);
  margin-left:44px;
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.nkm-drawer__main{ display:flex; flex-direction:column; gap:12px; }
.nkm-drawer__aside{ display:flex; justify-content:flex-end; }
.nkm-drawer__image{
  width:100%;
  max-width:480px;
  height:auto;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,0.28);
  border:1px solid rgba(255,255,255,0.08);
  object-fit:cover;
}
.nkm-drawer__aside{ padding:0 25px; }
.nkm-drawer__placeholder{
  width:calc(100% - 50px); height:100%;
  min-height:120px;
  margin:0 25px;
  border-radius:12px;
  border:1px dashed rgba(255,255,255,0.18);
  display:flex; align-items:center; justify-content:center;
  color:var(--nkm-dim);
  font-size:48px;
  background:rgba(255,255,255,0.04);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
}
@media (max-width: 768px){
  .nkm-drawer__inner{ grid-template-columns:1fr; }
  .nkm-drawer__aside{ justify-content:flex-start; }
  .nkm-drawer__image,
  .nkm-drawer__placeholder{ width:100%; max-width:240px; margin:0; font-size:36px; }
}
.nkm-excerpt{ color:var(--nkm-dim); margin:6px 0 10px; }
.nkm-tags__group{ margin:4px 0; }
.nkm-tags__label{ text-transform:capitalize; color:var(--nkm-dim); margin-right:6px; }
.nkm-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
  position:relative;
  flex-wrap:wrap;
  align-items:center;
}
.nkm-fav{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-color:rgba(243,201,105,0.3);
  color:var(--nkm-accent);
  background:rgba(243,201,105,0.12);
  transition:background var(--nkm-fast), color var(--nkm-fast), border-color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-fav .nkm-fav__icon{
  font-size:1.05em;
  line-height:1;
}
.nkm-fav .nkm-fav__text{
  font-size:0.95em;
}
.nkm-fav:is(:hover,:focus-visible){
  background:rgba(243,201,105,0.2);
  border-color:rgba(243,201,105,0.45);
  color:var(--nkm-accent);
}
.nkm-fav.is-active{
  background:rgba(243,201,105,0.28);
  border-color:rgba(243,201,105,0.6);
  color:var(--nkm-accent);
  box-shadow:0 0 0 1px rgba(243,201,105,0.15);
}
.nkm-fav.is-active .nkm-fav__icon{
  transform:scale(1.05);
}
.nkm-share-menu{
  position:fixed;
  top:0;
  left:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:220px;
  max-width:min(280px, 92vw);
  max-height:min(65vh, 360px);
  padding:12px;
  background:var(--nkm-row);
  border:1px solid var(--nkm-border);
  border-radius:12px;
  box-shadow:0 18px 32px rgba(0,0,0,0.35);
  z-index:10000;
  overflow:auto;
}
.nkm-share-menu{ scrollbar-width:thin; scrollbar-color:rgba(243,201,105,0.55) rgba(255,255,255,0.08); }
.nkm-share-menu::-webkit-scrollbar{ width:8px; }
.nkm-share-menu::-webkit-scrollbar-track{ background:rgba(255,255,255,0.05); border-radius:10px; }
.nkm-share-menu::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(243,201,105,0.85), rgba(243,201,105,0.55));
  border-radius:10px;
}
.nkm-share-menu::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, rgba(243,201,105,1), rgba(243,201,105,0.7));
}
.nkm-share-menu__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.nkm-share-menu__info{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.nkm-share-menu__title{ font-weight:600; color:var(--nkm-text); }
.nkm-share-menu__hint{ font-size:12px; color:var(--nkm-dim); }
.nkm-share-menu__summary{
  font-size:12.5px;
  color:var(--nkm-dim);
  line-height:1.5;
  margin:-2px 0 8px;
  text-align:left;
}
.nkm-share-menu__close{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  color:var(--nkm-dim);
  width:26px;
  height:26px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:16px;
  line-height:1;
  transition:background var(--nkm-fast), color var(--nkm-fast), border-color var(--nkm-fast), transform .15s;
}
.nkm-share-menu__close:hover,
.nkm-share-menu__close:focus-visible{
  background:rgba(243,201,105,0.22);
  border-color:rgba(243,201,105,0.6);
  color:var(--nkm-accent);
}
.nkm-share-menu__close:focus-visible{
  outline:2px solid rgba(243,201,105,0.45);
  outline-offset:2px;
}
.nkm-share-menu__close:active{ transform:scale(0.92); }
.nkm-share-item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border-radius:8px;
  text-decoration:none;
  color:var(--nkm-text);
  background:none;
  border:0;
  font:inherit;
  cursor:pointer;
  transition:background var(--nkm-fast), color var(--nkm-fast);
}
.nkm-share-item:hover,
.nkm-share-item:focus-visible{
  background:rgba(243,201,105,0.16);
  color:var(--nkm-accent);
}
.nkm-share-item:focus-visible{
  outline:2px solid rgba(243,201,105,0.35);
  outline-offset:2px;
}
/* pager */
.nkm-pager{ display:flex; align-items:center; justify-content:center; gap:10px; padding:10px; color:var(--nkm-dim); }
.nkm-pager span{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:2px 12px 0;
  color:#fff;
  line-height:1;
  text-shadow:0 1px 3px rgba(0,0,0,.8);
  background:rgba(17,24,39,.48);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
/* Subscription banner */
.nkm-subscriptions{
  --nkm-sub-accent:var(--nkm-accent);
  --nkm-sub-gap:18px;
  position:relative;
  background:radial-gradient(120% 85% at 18% 20%, rgba(243,201,105,0.16), transparent 55%),
             radial-gradient(110% 90% at 82% 10%, rgba(122,90,255,0.16), transparent 60%),
             linear-gradient(145deg, #221139, #2e154a 55%, #1b0a2b);
  border:1px solid rgba(243,201,105,0.25);
  border-radius:18px;
  padding:18px;
  margin-bottom:16px;
  box-shadow:0 14px 36px rgba(0,0,0,0.32), 0 0 0 1px rgba(255,255,255,0.02);
  overflow:hidden;
}
.nkm-subscriptions::before,
.nkm-subscriptions::after{
  content:"";
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle at 30% 30%, rgba(243,201,105,0.08), transparent 45%);
  filter:blur(30px);
  pointer-events:none;
}
.nkm-subscriptions::after{
  background:radial-gradient(circle at 70% 20%, rgba(255,255,255,0.06), transparent 50%);
  transform:rotate(8deg);
}
.nkm-subscriptions__header{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:12px;
  z-index:1;
}
.nkm-subscriptions__title{
  margin:0;
  font-size:19px;
  line-height:1.3;
  color:var(--nkm-text);
  font-weight:800;
  letter-spacing:0.01em;
  text-shadow:0 2px 14px rgba(243,201,105,0.25);
}
.nkm-subscriptions__subtitle{
  margin:0;
  color:var(--nkm-dim);
  line-height:1.5;
  font-size:13.5px;
}
.nkm-subscriptions__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:var(--nkm-sub-gap);
}
.nkm-subscriptions__card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px 16px 18px;
  background:linear-gradient(165deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  min-height:100%;
  transition:transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
  box-shadow:0 10px 24px rgba(0,0,0,0.26);
  backdrop-filter:blur(2px);
}
.nkm-subscriptions__card::after{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.03);
  pointer-events:none;
}
.nkm-subscriptions__card.is-featured{
  border-color:rgba(243,201,105,0.7);
  box-shadow:0 18px 42px rgba(243,201,105,0.22), 0 0 0 1px rgba(243,201,105,0.25);
  background:linear-gradient(175deg, rgba(243,201,105,0.12), rgba(255,255,255,0.02));
}
.nkm-subscriptions__card:hover,
.nkm-subscriptions__card:focus-within{
  transform:translateY(-3px) scale(1.01);
  border-color:rgba(243,201,105,0.45);
  box-shadow:0 16px 36px rgba(0,0,0,0.3), 0 0 22px rgba(243,201,105,0.25);
}
.nkm-subscriptions__badge{
  align-self:flex-start;
  background:linear-gradient(120deg, rgba(243,201,105,0.95), rgba(243,201,105,0.75));
  color:#2a103c;
  padding:4px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.04em;
  text-transform:uppercase;
  box-shadow:0 6px 16px rgba(243,201,105,0.45);
}
.nkm-subscriptions__plan{
  margin:0;
  font-size:16.5px;
  line-height:1.35;
  color:var(--nkm-text);
  font-weight:800;
}
.nkm-subscriptions__price{
  font-size:15.5px;
  color:var(--nkm-sub-accent);
  font-weight:700;
  text-shadow:0 1px 8px rgba(243,201,105,0.25);
}
.nkm-subscriptions__copy{
  margin:0;
  color:var(--nkm-dim);
  line-height:1.5;
  font-size:13.2px;
}
.nkm-subscriptions__cta{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 14px;
  text-decoration:none;
  background:linear-gradient(120deg, rgba(243,201,105,0.24), rgba(243,201,105,0.12));
  border-color:rgba(243,201,105,0.65);
  color:var(--nkm-text);
  font-weight:700;
  letter-spacing:0.01em;
  box-shadow:0 10px 26px rgba(243,201,105,0.2);
}
.nkm-subscriptions__cta:hover,
.nkm-subscriptions__cta:focus-visible{
  background:linear-gradient(120deg, rgba(243,201,105,0.92), rgba(243,201,105,0.75));
  border-color:rgba(243,201,105,0.95);
  color:#1b0a2b;
  box-shadow:0 12px 28px rgba(243,201,105,0.3);
}
.nkm-subscriptions__cta.is-featured{
  background:linear-gradient(120deg, #ffd78b, #f3c969);
  color:#2a103c;
  border-color:rgba(243,201,105,0.95);
  box-shadow:0 16px 36px rgba(243,201,105,0.35);
}
.nkm-subscriptions__cta.is-featured:hover,
.nkm-subscriptions__cta.is-featured:focus-visible{
  background:linear-gradient(120deg, #ffe5a8, #ffd78b);
  color:#2a103c;
}
.nkm-subscriptions__cta.is-disabled{ opacity:0.62; pointer-events:none; }
.nkm-subscriptions__link{
  background:none;
  border:0;
  color:var(--nkm-sub-accent);
  padding:6px 0 0;
  text-align:left;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13.5px;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-decoration-color:rgba(243,201,105,0.65);
}
.nkm-subscriptions__link:hover,
.nkm-subscriptions__link:focus-visible{
  color:#ffd78b;
  text-decoration-color:#ffd78b;
  outline:none;
}
.nkm-subscriptions__features{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease, opacity .2s ease;
  opacity:0.2;
}
.nkm-subscriptions__features.is-open{
  max-height:320px;
  opacity:1;
  margin-top:6px;
}
.nkm-subscriptions__features-list{
  list-style:none;
  padding:0;
  margin:6px 0 0;
  display:flex;
  flex-direction:column;
  gap:8px;
  color:var(--nkm-text);
  font-size:13.2px;
}
.nkm-subscriptions__features-list li{
  line-height:1.5;
  display:flex;
  align-items:center;
  gap:10px;
}
.nkm-subscriptions__icon{
  position:relative;
  --nkm-sub-icon-size:18px;
  --nkm-sub-icon-offset:0px;
  --nkm-sub-icon-offset-x:0px;
  flex:0 0 var(--nkm-sub-icon-size);
  width:var(--nkm-sub-icon-size);
  height:var(--nkm-sub-icon-size);
  margin-top:0;
  transform:translate(var(--nkm-sub-icon-offset-x), var(--nkm-sub-icon-offset));
  border-radius:50%;
  background:linear-gradient(135deg, rgba(243,201,105,0.85), rgba(255,215,139,0.75));
  border:1.5px solid rgba(243,201,105,0.7);
  box-shadow:0 4px 10px rgba(243,201,105,0.25), inset 0 0 0 1px rgba(255,255,255,0.08);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.nkm-subscriptions__icon--custom{
  background:linear-gradient(135deg, rgba(243,201,105,0.9), rgba(255,215,139,0.8));
  border:1.5px solid rgba(243,201,105,0.75);
  box-shadow:0 5px 12px rgba(243,201,105,0.28), inset 0 0 0 1px rgba(255,255,255,0.1);
}
.nkm-subscriptions__icon--custom i{
  color:#2a103c;
  font-size:calc(var(--nkm-sub-icon-size,18px) * 0.7);
  line-height:1;
}
.nkm-subscriptions__feature-text{
  display:inline-block;
  line-height:1.5;
}
.nkm-subscriptions__feature-text.is-strike{
  text-decoration:line-through;
  opacity:0.8;
}
@media (max-width: 960px){
  .nkm-subscriptions__features.is-open{ max-height:420px; }
}
@media (max-width: 720px){
  .nkm-subscriptions{ padding:16px; }
  .nkm-subscriptions__grid{ grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); }
}
/* Filters ? merged base + sticky */
.nkm-filters{
  position:sticky; top:10px; z-index:60;                 /* sticky (latest) */
  display:grid;
  grid-template-columns:minmax(200px,2.2fr) repeat(4, minmax(140px,1fr)) auto auto auto;  /* desktop grid */
  gap:10px; align-items:center;
  background:var(--nkm-bg);
  padding:12px; border-radius:var(--nkm-radius);
  margin-bottom:12px; border:1px solid var(--nkm-border);
  box-shadow:0 10px 24px rgba(0,0,0,.18);              /* latest shadow */
}
.nkm-input,.nkm-select{
  background:var(--nkm-row); color:var(--nkm-text);
  border:1px solid var(--nkm-border); border-radius:10px; padding:8px 10px; outline:none;
}
.nkm-input::placeholder{ color:var(--nkm-dim); }
.nkm-select option{ color:#f3c969; }
.nkm-switch{ display:flex; align-items:center; gap:8px; color:var(--nkm-dim); }
/* Custom multi-select dropdowns */
.nkm-dd{ position:relative; }
.nkm-dd__button{
  display:flex; align-items:center; gap:8px;
  background:var(--nkm-row); color:var(--nkm-text);
  border:1px solid var(--nkm-border); border-radius:10px; padding:8px 10px; cursor:pointer; min-width:0; width:100%;
}
.nkm-dd__button:hover{ border-color:var(--nkm-accent); background:rgba(243,201,105,0.18); }
.nkm-dd__caret{ opacity:.7; }
.nkm-dd__menu{
  position:absolute; top:calc(100% + 6px); left:0; right:auto; z-index:50;
  background:var(--nkm-row);
  border:1px solid var(--nkm-border); border-radius:12px; box-shadow:0 10px 24px rgba(0,0,0,.35);
  padding:6px 6px 8px; min-width:220px; max-height:clamp(280px, 48vh, 520px); overflow:auto;
  display:none;
}
.nkm-dd.open .nkm-dd__menu{ display:block; }
/* (older header variant kept in case it?s used) */
.nkm-dd__menuhead{
  position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between;
  background:var(--nkm-row); padding:6px 4px 8px; border-bottom:1px solid var(--nkm-border); margin-bottom:6px;
}
.nkm-dd__menutitle{ font-weight:600; color:var(--nkm-text); }
/* options */
.nkm-dd__option{ display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:8px; }
.nkm-dd__option:hover{ background:rgba(243,201,105,0.18); border-radius:8px; }
.nkm-dd__option input{ accent-color:var(--nkm-accent); }
/* Dropdown text colour */
.nkm-dd__menu{ color:#f3c969; }
.nkm-dd__option span{ color:inherit; }
.nkm-dd__option:hover span{ filter:brightness(1.1); color:var(--nkm-accent); }
.nkm-dd__option input:checked + span{ font-weight:600; }
/* Scrollbar theming */
.nkm-dd__menu{ scrollbar-width:thin; scrollbar-color:rgba(243,201,105,.55) var(--nkm-row); }
.nkm-dd__menu::-webkit-scrollbar{ width:10px; }
.nkm-dd__menu::-webkit-scrollbar-track{ background:var(--nkm-row); border-radius:10px; }
.nkm-dd__menu::-webkit-scrollbar-thumb{ background-color:rgba(243,201,105,.35); border:2px solid var(--nkm-row); border-radius:10px; }
.nkm-dd__menu::-webkit-scrollbar-thumb:hover{ background-color:rgba(243,201,105,.55); }
.nkm-dd__menu::-webkit-scrollbar-corner{ background:transparent; }
/* On-brand checkboxes */
.nkm-dd__option input[type="checkbox"]{
  -webkit-appearance:none; appearance:none; margin:0 8px 0 0;
  width:16px; height:16px; border-radius:4px; border:1.5px solid var(--nkm-border);
  background:rgba(255,255,255,.05);
  display:inline-grid; place-content:center;
  transition:background .15s, border-color .15s, box-shadow .15s, transform .05s;
}
.nkm-dd__option input[type="checkbox"]:hover{ border-color:var(--nkm-accent); }
.nkm-dd__option input[type="checkbox"]:focus{ outline:none; box-shadow:0 0 0 2px rgba(243,201,105,.35); }
.nkm-dd__option input[type="checkbox"]:active{ transform:scale(.96); }
.nkm-dd__option input[type="checkbox"]::after{
  content:""; width:8px; height:5px; border:2px solid transparent;
  border-right-color:var(--nkm-bg); border-bottom-color:var(--nkm-bg);
  transform:rotate(45deg) translate(-1px,-1px); opacity:0;
}
.nkm-dd__option input[type="checkbox"]:checked{ background:rgba(243,201,105,.9); border-color:var(--nkm-accent); }
.nkm-dd__option input[type="checkbox"]:checked::after{ opacity:1; }
.nkm-dd__option input{ accent-color:initial; }
/* Free-only checkbox */
.nkm-switch{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--nkm-row); color:var(--nkm-text);
  border:1px solid var(--nkm-border); border-radius:10px; padding:8px 12px;
}
.nkm-switch input[type="checkbox"]{
  -webkit-appearance:none; appearance:none; margin:0;
  width:16px; height:16px; border-radius:4px; border:1.5px solid var(--nkm-border);
  background:rgba(255,255,255,.05);
  display:inline-grid; place-content:center;
  transition:background .15s, border-color .15s, box-shadow .15s, transform .05s;
}
.nkm-switch input[type="checkbox"]:hover{ border-color:var(--nkm-accent); }
.nkm-switch input[type="checkbox"]:focus{ outline:none; box-shadow:0 0 0 2px rgba(243,201,105,.35); }
.nkm-switch input[type="checkbox"]::after{
  content:""; width:8px; height:5px; border:2px solid transparent;
  border-right-color:var(--nkm-bg); border-bottom-color:var(--nkm-bg);
  transform:rotate(45deg) translate(-1px,-1px); opacity:0;
}
.nkm-switch input[type="checkbox"]:checked{ background:rgba(243,201,105,.9); border-color:var(--nkm-accent); }
.nkm-switch input[type="checkbox"]:checked::after{ opacity:1; }
.nkm-switch:has(input:checked) span{ color:#f3c969; font-weight:600; }
.nkm-switch input{ accent-color:initial; }
/* Sort header polish */
.nkm-head .nkm-sort{
  -webkit-appearance:none; appearance:none; background:transparent; border:0; color:var(--nkm-text);
  font:inherit; font-weight:600; text-align:left; padding:12px 16px; width:100%;
  display:inline-flex; align-items:center; gap:8px; cursor:pointer; border-radius:10px;
  transition:color .15s ease, background .15s ease, box-shadow .15s ease; outline:none;
}
.nkm-head .nkm-sort:hover{ background:rgba(243,201,105,.06); color:#f3c969; }
.nkm-head .nkm-sort:focus-visible{ box-shadow:0 0 0 2px rgba(243,201,105,.35); }
.nkm-head .nkm-sort[aria-sort="ascending"],
.nkm-head .nkm-sort[aria-sort="descending"]{
  color:#f3c969; background:rgba(243,201,105,.08); box-shadow:inset 0 -2px 0 #f3c969;
}
.nkm-head .nkm-sort .nkm-arrow{ font-size:.9em; line-height:1; color:#f3c969; opacity:.9; transform:translateY(-1px); }
.nkm-head .c1,
.nkm-head .c3,
.nkm-head .c4,
.nkm-head .c7{ padding:12px 16px; font-weight:600; }
.nkm-head .c8{ padding:12px 0; display:flex; align-items:center; justify-content:flex-end; }
.nkm-head__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  margin:0 auto;
  padding:0;
  color:var(--nkm-accent);
}
.nkm-head__icon-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  font-size:18px;
  line-height:1;
}
.nkm-head__icon-svg{
  width:18px;
  height:18px;
  display:block;
}
.nkm-share__icon{
  width:18px;
  height:18px;
  display:block;
  color:currentColor;
}
.nkm-layout-toggle{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:6px 6px 14px;
  flex-wrap:wrap;
  align-items:center;
}
.nkm-layout-toggle__label{
  align-self:center;
  color:var(--nkm-accent);
  font-weight:600;
  letter-spacing:.02em;
}
.nkm-layout-toggle__seg{
  display:inline-flex;
  background:var(--nkm-row);
  border:1px solid rgba(243,201,105,0.35);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,0.22);
}
.nkm-layout-toggle__btn{
  background:transparent;
  border:0;
  color:var(--nkm-text);
  padding:10px 14px;
  cursor:pointer;
  transition:background var(--nkm-fast), border-color var(--nkm-fast), color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-layout-toggle__btn.is-active{
  background:rgba(243,201,105,0.2);
  color:var(--nkm-accent);
  box-shadow:inset 0 0 0 1px rgba(243,201,105,0.45);
}
.nkm-layout-toggle__btn:hover,
.nkm-layout-toggle__btn:focus-visible{
  background:rgba(243,201,105,0.14);
  color:var(--nkm-accent);
  outline:none;
}
.nkm-head__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-left:auto;
}
.nkm-head__actions .nkm-hide,
.nkm-row__actions .nkm-hide{ display:none; }
/* ===== Ranges panel ===== */
.nkm-ranges{
  display:grid; grid-template-columns:1fr 1fr; gap:22px;
  padding:16px 18px 6px; margin:8px 0 18px;
  background:var(--nkm-bg-2); border-radius:14px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
}
.nkm-range-group{ display:flex; flex-direction:column; gap:10px; }
.nkm-range-head{ display:flex; align-items:center; justify-content:space-between; gap:10px 14px; flex-wrap:wrap; }
.nkm-range-head--stack{
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.nkm-range-head__row{
  display:flex;
  align-items:center;
  gap:10px;
}
.nkm-range-group{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.nkm-range-head{
  justify-content:flex-start;
  gap:12px;
}
.nkm-range-title{ font-weight:600; color:var(--nkm-text); letter-spacing:.02em; }
.nkm-range-value{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--nkm-accent-2);
  font-variant-numeric:tabular-nums;
}
.nkm-range-value__sep{ color:var(--nkm-dim); font-size:0.9em; }
.nkm-range-value__unit{ font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--nkm-dim); }
.nkm-range-value__min,
.nkm-range-value__max{ color:var(--nkm-accent-2); }
.nkm-range-inputs{
  display:flex;
  gap:6px;
  margin-left:0;
  flex-wrap:nowrap;
  align-items:center;
}
.nkm-range-input__wrap{
  flex:0 0 60px;
  width:60px;
}
.nkm-range-input__dash{
  color:var(--nkm-dim);
  align-self:center;
  font-size:14px;
}
.nkm-range-input__colon{
  color:var(--nkm-dim);
  align-self:center;
  font-size:14px;
}
.nkm-range-input{
  width:100%;
  padding:2px 4px;
  border-radius:6px;
  border:1px solid rgba(243,201,105,0.5);
  background:rgba(255,255,255,0.03);
  color:var(--nkm-text);
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.25);
  text-align:right;
}
.nkm-range-input:focus{
  outline:2px solid rgba(243,201,105,0.45);
  outline-offset:2px;
}
.nkm-range-input::-webkit-inner-spin-button,
.nkm-range-input::-webkit-outer-spin-button{
  appearance:none;
  margin:0;
}
.nkm-range-input{
  -moz-appearance:textfield;
}
.nkm-range-sliders{ position:relative; height:34px; padding:10px 0; display:flex; align-items:center; }
.nkm-range-reset{
  align-self:flex-start;
  margin-top:8px;
  margin-bottom:8px;
  background:rgba(243,201,105,0.12);
  border:1px solid rgba(243,201,105,0.35);
  color:var(--nkm-accent);
  font-size:13px;
  padding:6px 12px;
  transition:background var(--nkm-fast), border-color var(--nkm-fast), color var(--nkm-fast);
}
.nkm-range-reset:hover,
.nkm-range-reset:focus-visible{
  background:rgba(243,201,105,0.22);
  border-color:rgba(243,201,105,0.55);
  color:var(--nkm-accent);
}
.nkm-range-sliders::before,
.nkm-range-sliders::after{
  content:""; position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  height:6px; border-radius:999px; pointer-events:none; z-index:1;
}
.nkm-range-sliders::before{ background:var(--nkm-range-track,#3b234f); }
.nkm-range-sliders::after{
  background:linear-gradient(90deg,
    transparent var(--from,0%),
    var(--nkm-accent,#f3c969) var(--from,0%),
    var(--nkm-accent,#f3c969) var(--to,0%),
    transparent var(--to,0%)
  );
}
.nkm-range{
  -webkit-appearance:none; appearance:none;
  position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  width:100%; height:6px; border-radius:999px; background:none !important; outline:none; z-index:2;
}
.nkm-range.nkm-bpm-min,
.nkm-range.nkm-dur-min{ z-index:3; }
.nkm-range.nkm-bpm-max,
.nkm-range.nkm-dur-max{ z-index:4; }
.nkm-range.nkm-bpm-max:active,
.nkm-range.nkm-dur-max:active,
.nkm-range.nkm-bpm-min:active,
.nkm-range.nkm-dur-min:active{ cursor:grabbing; }
.nkm-range:active::-webkit-slider-thumb,
.nkm-range:focus-visible::-webkit-slider-thumb{ transform:scale(1.15); }
.nkm-range:active::-moz-range-thumb,
.nkm-range:focus-visible::-moz-range-thumb{ transform:scale(1.15); }
.nkm-range{ touch-action:none; pointer-events:none; }
.nkm-range::-webkit-slider-thumb{ pointer-events:auto; }
.nkm-range::-moz-range-thumb{ pointer-events:auto; }
.nkm-range::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:20px; height:20px; border-radius:50%;
  border:2px solid var(--nkm-accent); background:#2b163b;
  box-shadow:0 0 0 3px rgba(243,201,105,.12); cursor:pointer; margin-top:-5px;
}
.nkm-range::-moz-range-thumb{
  width:20px; height:20px; border-radius:50%;
  border:2px solid var(--nkm-accent); background:#2b163b;
  box-shadow:0 0 0 3px rgba(243,201,105,.12); cursor:pointer;
}
.nkm-range::-moz-range-track{ height:6px; background:transparent; }
/* Empty state (latest) */
.nkm-empty{ text-align:center; padding:28px 16px 36px; color:var(--nkm-dim); }
.nkm-empty__msg{ font-weight:600; color:var(--nkm-text); margin-bottom:12px; }
.nkm-empty__actions{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
/* Dropdown focus trap visual hint */
.nkm-dd.open .nkm-dd__menu:focus-within{
  box-shadow:0 0 0 2px rgba(243,201,105,.28);
  border-color:rgba(243,201,105,.45);
}
/* Slider layering: thumbs above track */
.nkm-range{ z-index:2; }
.nkm-range-sliders::before,.nkm-range-sliders::after{ z-index:1; }
/* Align Title header with row titles + edges */
.nkm-head .c2.nkm-sort{ padding-left:0; }
@media (min-width:640px){ .nkm-head .c2.nkm-sort{ padding-left:2px; } }
.nkm-head .nkm-sort{ padding-left:0; }
.nkm-head .c1{ padding-left:6px; }
.nkm-head .c3,
.nkm-head .c4,
.nkm-head .c7{ padding-left:0; }
/* ---------- Dropdown header + Clear (on-brand; last version) ---------- */
.nkm-dd__header{ display:flex; align-items:center; justify-content:space-between; padding:6px 8px 4px; gap:10px; }
.nkm-dd__title{ font-weight:600; color:var(--nkm-text); }
.nkm-dd__hr{ height:1px; background:var(--nkm-border); margin:4px 6px 6px; border-radius:1px; }
.nkm-dd__clear{
  --_bg:rgba(243,201,105,.12);
  --_bd:rgba(243,201,105,.35);
  background:var(--_bg); color:var(--nkm-accent); border:1px solid var(--_bd);
  padding:6px 10px; border-radius:10px; cursor:pointer;
}
.nkm-dd__clear:hover{ background:rgba(243,201,105,.2); }
/* --- Theme pills / buttons (gold & purple) --- */
:root{
  --nkm-pill-bg:#2a1243;
  --nkm-pill-bg-hover:#3a185a;
  --nkm-pill-border:rgba(243,201,105,.45);
  --nkm-pill-fg:#f3c969;
}
.nkm-filters .nkm-btn.nkm-clear{
  background:var(--nkm-pill-bg) !important; color:var(--nkm-pill-fg) !important;
  border-color:var(--nkm-pill-border) !important; background-image:none !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
  box-shadow:0 0 0 2px rgba(243,201,105,0.35);
}
.nkm-filters .nkm-fav-filter{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(243,201,105,0.3);
  background:rgba(243,201,105,0.12);
  color:var(--nkm-accent);
  transition:background var(--nkm-fast), color var(--nkm-fast), border-color var(--nkm-fast);
}
.nkm-filters .nkm-fav-filter .nkm-fav-filter__icon{ font-size:1.05em; line-height:1; }
.nkm-filters .nkm-fav-filter.is-active{
  background:rgba(243,201,105,0.28);
  border-color:rgba(243,201,105,0.6);
  color:var(--nkm-accent);
  box-shadow:0 0 0 1px rgba(243,201,105,0.15);
}
.nkm-filters .nkm-fav-filter:focus-visible{
  outline:2px solid rgba(243,201,105,0.45);
  outline-offset:2px;
}
.nkm-filters .nkm-btn.nkm-clear:hover{
  background:var(--nkm-pill-bg-hover) !important; border-color:var(--nkm-pill-fg) !important;
}
.nkm-pill,.nkm-tag--clear{
  background:var(--nkm-pill-bg) !important; color:var(--nkm-pill-fg) !important; border:1px solid var(--nkm-pill-border) !important; background-image:none !important;
}
/* pager buttons (gold/purple) */
.nkm-pager .nkm-btn{
  background:var(--nkm-pill-bg) !important; color:var(--nkm-pill-fg) !important;
  border:1px solid var(--nkm-pill-border) !important; background-image:none !important; box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
.nkm-pager .nkm-btn:hover,.nkm-pager .nkm-btn:focus{
  background:var(--nkm-pill-bg-hover) !important; color:var(--nkm-pill-fg) !important; border-color:var(--nkm-pill-fg) !important;
  outline:none !important; box-shadow:0 0 0 2px rgba(243,201,105,.25);
}
.nkm-pager .nkm-btn:active{ transform:translateY(0); box-shadow:0 0 0 2px rgba(243,201,105,.25); }

/* ======= Responsive ======= */
@media (max-width:1000px){
  .nkm-filters{ grid-template-columns:1fr 1fr; }
  .nkm-dd__button{ min-width:auto; }
  .nkm-dd__menu{ min-width:180px; max-height:clamp(240px, 55vh, 440px); }
}
/* Mobile polish (= 640px) ? filters layout, ranges + pager ergonomics */
@media (max-width:640px){
  #nkm-app{ font-size:13px; }
  .nkm-table{ padding:6px; }
  /* Filter bar: 2 cols + full width rows */
  .nkm-filters{
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:
      "search search"
      "genre  mood"
      "theme  instrument"
      "free   free"
      "fav    fav"
      "clear  clear";
    gap:12px !important;
    padding:10px; border-radius:12px;
  }
  .nkm-filters .nkm-search{ grid-area:search; }
  .nkm-filters .nkm-dd[data-key="genre"]{ grid-area:genre; }
  .nkm-filters .nkm-dd[data-key="mood"]{ grid-area:mood; }
  .nkm-filters .nkm-dd[data-key="theme"]{ grid-area:theme; }
  .nkm-filters .nkm-dd[data-key="instrument"]{ grid-area:instrument; }
  .nkm-filters .nkm-switch{ grid-area:free; justify-content:center; }
  .nkm-filters .nkm-fav-filter{ grid-area:fav; width:100%; }
  .nkm-filters .nkm-clear{ grid-area:clear; width:100%; }
  .nkm-dd__button,.nkm-input,.nkm-switch{ padding:10px 12px; }
  .nkm-dd__menu{ max-height:65vh; }
  .nkm-ranges{ gap:14px; padding:12px 14px 4px; }
  .nkm-range-group{ gap:8px; }
  .nkm-range-sliders{ height:30px; padding:8px 0; }
  .nkm-head{ display:none; }         /* hide table header on small phones */
  /* pager buttons thumb-friendly */
  .nkm-pager{ gap:8px; }
  .nkm-pager .nkm-btn{ flex:1 1 0; min-width:44%; padding:10px 12px; }
}
/* Sticky filters below WP admin bar on mobile */
@media (max-width:782px){
  .admin-bar .nkm-filters{ top:46px; }
}
/* Slightly wider phones */
@media (min-width:641px) and (max-width:768px){
  #nkm-app{ font-size:13.5px; }
  .nkm-row{ padding:10px 12px; gap:8px; }
  .nkm-cart{ padding:7px 12px; }
  .nkm-dd__menu{ max-height:60vh; }
}
/* Hide genre chips on <=900 and set compact grid ? latest cart sizing lives below */
@media (max-width:900px){
  .nkm-head{ display:none; }
  .nkm-chips,
  .nkm-artist{ display:none; }
}
/* === MOBILE ? make Cart column only as wide as its text (latest rules) === */
@media (max-width:900px){
  /* play | title | bpm | len | price | cart | fav | caret */
  .nkm-row{
    grid-template-columns:
      44px
      1fr
      56px
      58px
      84px
      minmax(140px, max-content)
      !important;
    gap:8px;
  }
  .nkm-row__actions{ justify-content:flex-end; gap:8px; }
  .nkm-row .nkm-project-add.nkm-hide{ display:none; }  /* drop desktop placeholder so mobile grid stays tight */
  .nkm-row__excerpt{ grid-column:1 / -1; margin-top:8px; }
  .nkm-related__list{ flex-direction:column; }
  .nkm-row .nkm-cart{
    display:inline-flex; align-items:center; justify-content:center;
    width:auto; max-width:100%;
    padding:6px 10px; font-size:12.5px; white-space:nowrap;
  }
  .nkm-row .nkm-cart.button,
  .nkm-row .nkm-cart.woocommerce-button,
  .nkm-row .nkm-cart.add_to_cart_button{ width:auto !important; min-width:0 !important; }
  .nkm-price{ white-space:nowrap; }
  .nkm-row .nkm-caret{ width:30px; min-width:30px; padding:6px; }
}
@media (max-width:420px){
  .nkm-row{
    grid-template-columns:
      44px 1fr 50px 56px 72px max-content 34px 30px !important;
  }
  .nkm-row .nkm-cart{ padding:6px 8px; font-size:12px; }
}
.nkm-card .nkm-row__actions{ width:100%; }
@media (max-width:900px){
  .nkm-card{
    grid-template-columns:1fr;
  }
  .nkm-card__media{
    min-height:180px;
  }
  .nkm-card__actions .nkm-row__actions{
    justify-content:flex-start;
  }
}
/* Smaller "From" label */
.nkm-price .nkm-price-from{
  font-size: .78em;          /* tiny bit smaller */
  opacity: .9;
  letter-spacing: .01em;
  margin-right: 2px;
}
/* ======================================================================
   FINAL ?FORCE? BLOCK ? TIDY FILTERS UP TO SMALL TABLETS (=1024px)
   ====================================================================== */
@media (max-width:1024px){
  /* 2-column layout with full-width Search / Free / Clear */
  #nkm-app .nkm-filters{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
      "search search"
      "genre  mood"
      "theme  instrument"
      "free   free"
      "fav    fav"
      "clear  clear" !important;
    gap:10px !important;
    padding:10px 12px !important;
    border-radius:12px !important;
  }
  #nkm-app .nkm-filters .nkm-search{ grid-area:search; width:100% !important; }
  #nkm-app .nkm-filters .nkm-dd[data-key="genre"]{ grid-area:genre; }
  #nkm-app .nkm-filters .nkm-dd[data-key="mood"]{ grid-area:mood; }
  #nkm-app .nkm-filters .nkm-dd[data-key="theme"]{ grid-area:theme; }
  #nkm-app .nkm-filters .nkm-dd[data-key="instrument"]{ grid-area:instrument; }
  #nkm-app .nkm-filters .nkm-switch{ grid-area:free; width:100% !important; }
  #nkm-app .nkm-filters .nkm-fav-filter{ grid-area:fav; width:100% !important; }
  #nkm-app .nkm-filters .nkm-clear{ grid-area:clear; width:100% !important; }
  /* kill stubborn min-widths and make triggers truly fluid */
  #nkm-app .nkm-filters .nkm-dd,
  #nkm-app .nkm-filters .nkm-dd__button{
    width:100% !important;
    min-width:0 !important;
  }
  #nkm-app .nkm-filters .nkm-dd__button{
    justify-content:space-between !important;
    padding:10px 12px !important;
  }
  #nkm-app .nkm-filters .nkm-input,
  #nkm-app .nkm-filters .nkm-switch{
    padding:10px 12px !important;
  }
}
/* Sticky Player */
#nkm-sticky-player{
  position:fixed; left:0; right:0; bottom:0;
  background:var(--nkm-player-bg,rgba(17,24,39,.96));
  color:var(--nkm-player-text,var(--nkm-text,#f5ecff));
  border-top:1px solid var(--nkm-player-border,var(--nkm-border,rgba(255,255,255,.06)));
  box-shadow:0 -14px 32px rgba(0,0,0,.22);
  backdrop-filter:var(--nkm-player-backdrop-blur,none);
  transform:translateY(100%);
  transition:transform var(--nkm-fast,200ms) ease;
  z-index:99998; font-size:14px;
}
#nkm-sticky-player.is-visible{ transform:translateY(0); }
#nkm-sticky-player .nkm-sp__inner{
  display:grid; grid-template-columns:auto auto 1fr auto auto;
  gap:14px; align-items:center; padding:var(--nkm-player-padding,10px 16px);
}
#nkm-sticky-player .nkm-sp__art{
  width:52px; height:52px;
  border-radius:12px; overflow:hidden;
  background:rgba(255,255,255,0.08);
  background-size:cover; background-position:center;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  transition:opacity .2s ease, box-shadow .25s ease;
}
#nkm-sticky-player .nkm-sp__art.is-empty{
  box-shadow:none;
  opacity:.65;
}
#nkm-sticky-player .nkm-sp__btn{
  -webkit-appearance:none;
  appearance:none;
  background:var(--nkm-player-button-bg,var(--nkm-chip,#2b163b));
  border:1px solid var(--nkm-player-border,var(--nkm-border,rgba(255,255,255,.06)));
  border-radius:12px; padding:8px 10px; cursor:pointer; color:inherit;
  display:flex; align-items:center; justify-content:center;
  outline:none; transition:box-shadow .2s ease, border-color .2s ease;
}
#nkm-sticky-player .nkm-sp__play{
  width:44px; height:44px;
  font-size:18px; border-radius:50%;
  background:var(--nkm-player-play-bg,var(--nkm-player-button-bg,var(--nkm-chip,#2b163b)));
  color:var(--nkm-player-play-color,inherit);
}
#nkm-sticky-player .nkm-sp__btn:focus{ outline:none; }
#nkm-sticky-player .nkm-sp__btn:focus-visible{
  box-shadow:0 0 0 2px rgba(243,201,105,0.35);
  border-color:rgba(243,201,105,0.6);
}
#nkm-sticky-player .nkm-sp__meta{ display:grid; gap:6px; min-width:0; }
#nkm-sticky-player .nkm-sp__title{ font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#nkm-sticky-player .nkm-sp__times{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; font-variant-numeric:tabular-nums; opacity:.85;
}
#nkm-sticky-player .nkm-sp__dur{ margin-left:auto; }
#nkm-sticky-player .nkm-sp__wave{
  position:relative;
  height:52px;
  display:block;
  cursor:pointer;
  overflow:hidden;
  border-radius:14px;
  background:var(--nkm-player-wave-bg,rgba(255,255,255,0.03));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05), 0 12px 28px rgba(0,0,0,0.35);
}
#nkm-sticky-player .nkm-sp__wave::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  opacity:0.7;
  pointer-events:none;
}
#nkm-sticky-player .nkm-sp__wave-canvas{
  width:100%;
  height:100%;
  display:block;
  position:relative;
  z-index:1;
}
#nkm-sticky-player .nkm-sp__volume{ position:relative; display:flex; align-items:center; gap:12px; justify-self:end; }
#nkm-sticky-player .nkm-sp__volume-button{
  -webkit-appearance:none;
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:50%;
  border:1px solid transparent;
  background:transparent;
  color:var(--nkm-text,#f5ecff);
  cursor:pointer;
  transition:color .18s ease, transform .18s ease, background .18s ease, box-shadow .18s ease;
}
#nkm-sticky-player .nkm-sp__volume-button:hover,
#nkm-sticky-player .nkm-sp__volume-button:focus-visible{
  color:var(--nkm-accent,#f3c969);
  background:rgba(243,201,105,0.18);
  box-shadow:0 0 0 2px rgba(243,201,105,0.28);
  outline:none;
}
#nkm-sticky-player .nkm-sp__volume-button:active{
  transform:scale(0.96);
}
#nkm-sticky-player .nkm-sp__volume-icon{ font-size:22px; pointer-events:none; }
#nkm-sticky-player .nkm-sp__volume-range{
  width:140px;
  -webkit-appearance:none; appearance:none;
  background:transparent; cursor:pointer;
}
#nkm-sticky-player .nkm-sp__volume-range::-webkit-slider-runnable-track{
  height:4px; border-radius:999px; background:var(--nkm-range-track,#3b234f);
}
body.nkm-modal-open{
  overflow:hidden;
}
.nkm-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:100000;
}
.nkm-modal.is-open{ display:flex; }
.nkm-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(12,10,25,0.68);
  backdrop-filter:blur(4px);
}
.nkm-modal__panel{
  position:relative;
  background:var(--nkm-bg,#1b0a2b);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;
  width:min(680px, calc(100% - 32px));
  max-height:88vh;
  display:flex;
  flex-direction:column;
  box-shadow:0 26px 50px rgba(10,9,21,0.65);
  overflow:hidden;
  z-index:1;
}
.nkm-modal__header{
  padding:22px 28px 12px;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.nkm-modal__title{
  margin:0;
  font-size:20px;
  font-weight:600;
  color:var(--nkm-text);
}
.nkm-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  background:rgba(243,201,105,0.12);
  border:1px solid rgba(243,201,105,0.4);
  color:var(--nkm-accent);
  width:32px; height:32px;
  border-radius:50%;
  cursor:pointer;
  font-size:18px;
  display:flex; align-items:center; justify-content:center;
}
.nkm-modal__close:hover{
  background:rgba(243,201,105,0.2);
}
.nkm-modal__body{
  padding:24px 24px 28px;
  overflow:auto;
  flex:1 1 auto;
}
.nkm-modal,
.nkm-modal h1,
.nkm-modal h2,
.nkm-modal h3,
.nkm-modal h4,
.nkm-modal h5,
.nkm-modal h6,
.nkm-modal p,
.nkm-modal label,
.nkm-modal span{
  color:var(--nkm-text);
}
.nkm-modal input,
.nkm-modal select,
.nkm-modal textarea{
  color:var(--nkm-text);
}
.nkm-modal .nkm-project-create-modal__input{
  color:#24102f;
  caret-color:#24102f;
}
.nkm-modal ::placeholder{
  color:rgba(245,236,255,0.75);
}
.nkm-modal__loading,
.nkm-modal__empty{
  text-align:center;
  color:var(--nkm-dim);
  font-size:15px;
}
.nkm-modal__empty .nkm-btn{
  margin-top:16px;
}
.nkm-lic-list{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.nkm-lic-footer{
  margin-top:20px;
  display:flex;
  justify-content:flex-end;
  gap:12px;
}
.nkm-lic-footer .nkm-btn{
  padding:8px 18px;
}
.nkm-lic-card{
  display:flex;
  gap:18px;
  align-items:flex-start;
  justify-content:space-between;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:16px;
  padding:18px 20px;
}
.nkm-lic-card__info{ flex:1; min-width:0; }
.nkm-lic-name{
  margin:0 0 6px;
  font-size:17px;
  font-weight:600;
  color:var(--nkm-text);
}
.nkm-lic-attrs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:8px;
}
.nkm-lic-chip{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  border-radius:999px;
  background:rgba(243,201,105,0.12);
  border:1px solid rgba(243,201,105,0.45);
  font-size:12px;
  color:var(--nkm-accent);
  text-transform:capitalize;
}
.nkm-lic-desc{
  margin:0;
  font-size:13px;
  color:var(--nkm-dim);
}
.nkm-lic-card__meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.nkm-lic-price{
  font-size:18px;
  font-weight:600;
  color:var(--nkm-accent);
}
.nkm-lic-card .nkm-btn{
  padding:6px 14px;
}
@media (max-width:640px){
  .nkm-modal__panel{
    width:calc(100% - 24px);
  }
  .nkm-lic-card{
    flex-direction:column;
    align-items:flex-start;
  }
  .nkm-lic-card__meta{
    width:100%;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
  }
}
#nkm-sticky-player .nkm-sp__volume-range::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:14px; height:14px; border-radius:50%;
  background:var(--nkm-accent,#f3c969); border:none; margin-top:-5px;
  box-shadow:0 0 0 2px rgba(0,0,0,.25);
}
#nkm-sticky-player .nkm-sp__volume-range::-moz-range-track{
  height:4px; border-radius:999px; background:var(--nkm-range-track,#3b234f);
}
#nkm-sticky-player .nkm-sp__volume-range::-moz-range-thumb{
  width:14px; height:14px; border-radius:50%;
  background:var(--nkm-accent,#f3c969); border:none;
}
#nkm-sticky-player .nkm-sp__close{ font-size:18px; line-height:1; }
@media (max-width:640px){
  #nkm-sticky-player .nkm-sp__inner{
    grid-template-columns:auto auto 1fr;
    grid-template-rows:auto auto;
    gap:10px;
  }
  #nkm-sticky-player .nkm-sp__art{ grid-row:1 / span 2; }
  #nkm-sticky-player .nkm-sp__meta{ grid-column:2 / span 2; }
  #nkm-sticky-player .nkm-sp__wave{ height:44px; }
  #nkm-sticky-player .nkm-sp__volume{ position:relative; display:flex; align-items:center; gap:12px; justify-self:end; }
  #nkm-sticky-player .nkm-sp__volume-range{ width:100%; margin-left:4px; }
  #nkm-sticky-player .nkm-sp__close{ display:none; }
}
/* -- Chip styling reset -- */
.nkm-chip{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(243,201,105,0.1);
  color:var(--nkm-accent);
  margin-right:6px;
  font-size:12px;
  border:1px solid rgba(243,201,105,0.25);
}
.nkm-chip.nkm-chip--more{
  cursor:pointer;
  background:rgba(243,201,105,0.16);
}
.nkm-chip.nkm-chip--more:hover,
.nkm-chip.nkm-chip--more:focus-visible{
  background:rgba(243,201,105,0.24);
  border-color:rgba(243,201,105,0.45);
}
.nkm-tooltip{
  position:absolute;
  background:rgba(27,10,43,0.95);
  color:var(--nkm-text);
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  line-height:1.3;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%, -6px);
  transition:opacity var(--nkm-fast) ease, transform var(--nkm-fast) ease, visibility var(--nkm-fast) ease;
  z-index:4000;
  max-width:240px;
  text-align:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.35);
  white-space:normal;
}
.nkm-tooltip.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%, 0);
}
.nkm-tooltip::after{
  content:'';
  position:absolute;
  top:-6px;
  left:50%;
  transform:translateX(-50%);
  border-width:6px;
  border-style:solid;
  border-color:transparent transparent rgba(27,10,43,0.95) transparent;
  opacity:0;
  transition:opacity var(--nkm-fast) ease;
}
.nkm-tooltip.is-visible::after{
  opacity:1;
}
@media (max-width: 1100px){
  .nkm-head, .nkm-row{
    grid-template-columns:52px minmax(180px,2fr) minmax(110px,1fr) minmax(140px,1.1fr) minmax(56px,0.95fr) minmax(64px,0.95fr) minmax(100px,1fr) minmax(112px, max-content);
  }
}

/* ========= Projects panel ========= */
.nkm-projects{
  margin:32px 0 56px;
  padding:28px;
  border-radius:16px;
  background:linear-gradient(140deg, rgba(20,8,31,0.96), rgba(30,15,44,0.9));
  border:1px solid rgba(255,255,255,0.07);
  box-shadow:0 24px 45px rgba(11,0,26,0.35);
}
.nkm-projects__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.nkm-projects__notice{
  margin:6px 0 0;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(243,201,105,0.08);
  border:1px solid rgba(243,201,105,0.25);
  color:var(--nkm-accent);
  font-weight:600;
  flex:1;
}
.nkm-projects__import{
  margin:8px 0 0;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.nkm-projects__import-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.nkm-projects__import-dismiss{
  flex:0 0 auto;
  width:36px;
  height:36px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(243,201,105,0.35);
  background:rgba(243,201,105,0.08);
  color:var(--nkm-accent);
  font:600 22px/1 sans-serif;
  cursor:pointer;
}
.nkm-projects__import-dismiss:hover,
.nkm-projects__import-dismiss:focus-visible{
  background:rgba(243,201,105,0.18);
  border-color:var(--nkm-accent);
  outline:none;
}
.nkm-projects__search{
  margin:0 0 10px;
}
.nkm-projects__search-input{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  color:var(--nkm-text);
}
.nkm-project-modal__options{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}
.nkm-project-modal__option{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border-radius:10px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06);
  transition:background var(--nkm-fast), border-color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-project-modal__option:hover{
  background:rgba(243,201,105,0.08);
  border-color:rgba(243,201,105,0.25);
}
.nkm-project-modal__option input[type="checkbox"]{
  width:18px;
  height:18px;
  appearance:none;
  -webkit-appearance:none;
  border:2px solid rgba(243,201,105,0.5);
  border-radius:6px;
  background:rgba(243,201,105,0.1);
  position:relative;
  outline:none;
  cursor:pointer;
  transition:background var(--nkm-fast), border-color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-project-modal__option input[type="checkbox"]:checked{
  background:rgba(243,201,105,0.85);
  border-color:rgba(243,201,105,0.95);
  box-shadow:0 0 0 2px rgba(243,201,105,0.25);
}
.nkm-project-modal__option input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  inset:4px;
  border:2px solid #1b0a2b;
  border-top:none;
  border-left:none;
  transform:rotate(45deg);
}
.nkm-project-modal__option span{
  color:var(--nkm-text);
}
.nkm-projects__head-left{
  display:flex;
  align-items:center;
  gap:10px;
}
.nkm-projects__toggle{
  background:rgba(243,201,105,0.12);
  border:1px solid rgba(243,201,105,0.35);
  color:var(--nkm-accent);
  padding:6px 12px;
  border-radius:10px;
  cursor:pointer;
  transition:background var(--nkm-fast), border-color var(--nkm-fast), color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-projects__toggle:hover,
.nkm-projects__toggle:focus-visible{
  background:rgba(243,201,105,0.22);
  border-color:rgba(243,201,105,0.55);
  color:var(--nkm-accent);
  outline:none;
}
.nkm-projects__header h3{
  margin:0;
  font-size:20px;
  font-weight:600;
  letter-spacing:0.02em;
  color:var(--nkm-accent);
}
.nkm-projects__list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:20px;
}
.nkm-project-pill,
.nkm-projects .nkm-btn:not(.nkm-btn--primary),
.nkm-project-item-remove{
  border-radius:999px;
  padding:6px 14px;
  border:1px solid rgba(243,201,105,0.25);
  background:rgba(243,201,105,0.1);
  color:var(--nkm-accent);
  font-weight:500;
  cursor:pointer;
  transition:background var(--nkm-fast), border-color var(--nkm-fast), color var(--nkm-fast), transform var(--nkm-fast);
}
.nkm-project-pill:hover,
.nkm-project-pill:focus-visible{
  background:rgba(243,201,105,0.22);
  border-color:rgba(243,201,105,0.55);
  color:var(--nkm-accent);
  transform:translateY(-1px);
  outline:none;
}
.nkm-project-pill.is-active{
  background:var(--nkm-accent);
  border-color:var(--nkm-accent);
  color:#1b0a2b;
  box-shadow:0 14px 28px rgba(243,201,105,0.28);
}
.nkm-projects__empty,
.nkm-projects__loading,
.nkm-projects__error{
  font-size:14px;
  color:var(--nkm-dim);
}
.nkm-projects__error{
  margin-top:8px;
  color:#ff9da7;
}
.nkm-projects__detail{
  margin-top:20px;
  padding:20px 22px 24px;
  border-radius:14px;
  background:rgba(27,10,43,0.8);
  border:1px solid rgba(255,255,255,0.07);
  display:flex;
  flex-direction:column;
  gap:18px;
}
.nkm-projects__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:16px;
}
.nkm-projects__title-label{
  flex:1 1 240px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.nkm-projects__title-text{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--nkm-dim);
}
.nkm-project-title-input,
.nkm-project-note{
  width:100%;
  border-radius:12px;
  background:rgba(19,6,31,0.85);
  border:1px solid rgba(255,255,255,0.12);
  color:var(--nkm-text);
  padding:10px 12px;
  font-size:14px;
  transition:border-color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-project-title-input:focus,
.nkm-project-note:focus{
  outline:none;
  border-color:var(--nkm-accent);
  box-shadow:0 0 0 2px rgba(243,201,105,0.25);
}
.nkm-projects__note-label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.nkm-projects__note-label span{
  font-size:13px;
  letter-spacing:0.04em;
  color:var(--nkm-dim);
  text-transform:uppercase;
}
.nkm-projects__items{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.nkm-projects__empty-items{
  font-size:14px;
  color:var(--nkm-dim);
  background:rgba(255,255,255,0.04);
  border-radius:12px;
  padding:14px 16px;
  border:1px dashed rgba(255,255,255,0.12);
}
.nkm-project-item{
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(130px,0.6fr) minmax(200px,1fr) auto;
  gap:14px;
  align-items:start;
  background:rgba(255,255,255,0.05);
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.08);
  padding:14px;
}
.nkm-project-item__title{
  font-weight:600;
  font-size:15px;
  color:var(--nkm-text);
}
.nkm-project-item__badge{
  margin-left:8px;
  font-size:12px;
  padding:3px 8px;
}
.nkm-project-item__rating{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--nkm-dim);
}
.nkm-project-item-rating{
  width:72px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(19,6,31,0.9);
  color:var(--nkm-text);
  padding:6px 8px;
  font-size:14px;
  text-align:center;
  transition:border-color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-project-item-rating:focus{
  outline:none;
  border-color:var(--nkm-accent);
  box-shadow:0 0 0 2px rgba(243,201,105,0.25);
}
.nkm-project-item-note{
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(19,6,31,0.9);
  color:var(--nkm-text);
  padding:10px 12px;
  font-size:14px;
  min-height:72px;
  resize:vertical;
  transition:border-color var(--nkm-fast), box-shadow var(--nkm-fast);
}
.nkm-project-item-note:focus{
  outline:none;
  border-color:var(--nkm-accent);
  box-shadow:0 0 0 2px rgba(243,201,105,0.25);
}
.nkm-project-item-remove{
  align-self:center;
  padding:6px 12px;
  transition:border-color var(--nkm-fast), background var(--nkm-fast), color var(--nkm-fast), transform var(--nkm-fast);
}
.nkm-project-item-remove:hover,
.nkm-project-item-remove:focus-visible{
  background:rgba(243,201,105,0.22);
  border-color:rgba(243,201,105,0.55);
  color:var(--nkm-accent);
  transform:translateY(-1px);
  outline:none;
}
.nkm-projects .nkm-btn:not(.nkm-btn--primary):hover,
.nkm-projects .nkm-btn:not(.nkm-btn--primary):focus-visible{
  background:rgba(243,201,105,0.22);
  border-color:rgba(243,201,105,0.55);
  color:var(--nkm-accent);
  outline:none;
}

@media (max-width:900px){
  .nkm-projects{
    padding:24px;
  }
  .nkm-project-item{
    grid-template-columns:1fr;
  }
  .nkm-project-item-remove{
    justify-self:flex-start;
  }
}
@media (max-width:600px){
  .nkm-projects__header{
    flex-direction:column;
    align-items:flex-start;
  }
  .nkm-projects__meta{
    flex-direction:column;
    align-items:stretch;
  }
  .nkm-project-pill{
    padding:6px 12px;
  }
}

.nkm-hide {
	visibility: hidden;
	pointer-events: none;
}

/* ========= Responsive hardening =========
   Keep the desktop presentation intact while turning the list into a compact,
   touch-friendly track card on tablets and phones. */
#nkm-app,
.nkm-app{
  width:100%;
  max-width:100%;
  min-width:0;
}
#nkm-app *,
.nkm-app *{
  box-sizing:border-box;
}
#nkm-app .nkm-title,
.nkm-app .nkm-card__artist,
.nkm-app .nkm-project-item__title,
.nkm-app .nkm-related__name{
  overflow-wrap:anywhere;
}

@media (max-width:1024px){
  #nkm-app .nkm-filters,
  .nkm-app .nkm-filters{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-template-areas:
      "search search genre mood"
      "theme instrument free free"
      "fav fav clear clear" !important;
  }
  #nkm-app .nkm-filters > *,
  .nkm-app .nkm-filters > *{
    min-width:0;
  }
  #nkm-app .nkm-filters .nkm-switch,
  .nkm-app .nkm-filters .nkm-fav-filter,
  .nkm-app .nkm-filters .nkm-clear{
    min-height:44px;
    align-items:center;
    justify-content:center;
  }
  #nkm-app .nkm-dd[data-key="mood"] .nkm-dd__menu,
  .nkm-app .nkm-dd[data-key="mood"] .nkm-dd__menu{
    right:0;
    left:auto;
  }
  .nkm-ranges{
    grid-template-columns:minmax(0,1fr);
  }
  .nkm-ranges,
  .nkm-subscriptions,
  .nkm-projects,
  .nkm-layout-toggle,
  .nkm-cards{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .nkm-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .nkm-card{
    min-width:0;
  }
}

@media (max-width:1024px){
  .nkm-head{
    display:none;
  }
  .nkm-table{
    width:100%;
    max-width:100%;
    padding:6px;
    overflow:hidden;
  }
  .nkm-table .nkm-row:not(.nkm-card){
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) auto auto auto !important;
    grid-template-areas:
      "play title title title title"
      "play artist bpm duration price"
      "actions actions actions actions actions"
      "excerpt excerpt excerpt excerpt excerpt";
    gap:8px 12px;
    align-items:center;
    min-width:0;
    padding:12px;
  }
  .nkm-table .nkm-row:not(.nkm-card) > .c1{ grid-area:play; }
  .nkm-table .nkm-row:not(.nkm-card) > .c2{ grid-area:title; min-width:0; }
  .nkm-table .nkm-row:not(.nkm-card) > .c3{
    grid-area:artist;
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .nkm-table .nkm-row:not(.nkm-card) > .c4{ display:none; }
  .nkm-table .nkm-row:not(.nkm-card) > .c5{
    grid-area:bpm;
    display:flex;
    align-items:baseline;
    gap:5px;
  }
  .nkm-table .nkm-row:not(.nkm-card) > .c6{
    grid-area:duration;
    display:flex;
    align-items:baseline;
    gap:5px;
  }
  .nkm-table .nkm-row:not(.nkm-card) > .c5::before,
  .nkm-table .nkm-row:not(.nkm-card) > .c6::before{
    content:attr(data-label);
    color:var(--nkm-dim);
    font-size:10px;
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
  .nkm-table .nkm-row:not(.nkm-card) > .c7{ grid-area:price; }
  .nkm-table .nkm-row:not(.nkm-card) > .c8{
    grid-area:actions;
    width:100%;
    min-width:0;
    justify-content:flex-end;
    flex-wrap:wrap;
    padding-top:2px;
  }
  .nkm-table .nkm-row:not(.nkm-card) > .nkm-row__excerpt{
    grid-area:excerpt;
    margin-top:2px;
  }
  .nkm-table .nkm-row:not(.nkm-card) .nkm-btn:not(.nkm-play),
  .nkm-card__actions .nkm-btn{
    width:44px !important;
    height:44px;
    min-width:44px !important;
    min-height:44px;
  }
  .nkm-table .nkm-row:not(.nkm-card) .nkm-caret{
    width:44px;
    min-width:44px;
    padding:0;
  }
  .nkm-card{
    grid-template-columns:1fr !important;
  }
  .nkm-card__media{
    min-height:0;
    aspect-ratio:16 / 9;
  }
  .nkm-card__actions .nkm-row__actions{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .nkm-drawer__inner{
    margin-left:0;
    padding:14px 12px 16px;
  }
  .nkm-drawer__aside{
    padding:0;
  }
  .nkm-project-item{
    grid-template-columns:minmax(0,1fr);
  }
  .nkm-project-item-remove{
    justify-self:flex-start;
  }
}

@media (max-width:767px){
  #nkm-app,
  .nkm-app{
    font-size:14px;
  }
  #nkm-app .nkm-filters,
  .nkm-app .nkm-filters{
    position:relative;
    top:auto;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
      "search search"
      "genre mood"
      "theme instrument"
      "free free"
      "fav fav"
      "clear clear" !important;
    padding:10px !important;
  }
  #nkm-app .nkm-search,
  .nkm-app .nkm-search{
    min-height:44px;
    font-size:16px;
  }
  .nkm-dd__button{
    min-height:44px;
    font-size:14px;
    text-align:left;
  }
  .nkm-dd__menu{
    width:min(280px,calc(100vw - 32px));
    min-width:0;
    max-height:min(60dvh,420px);
  }
  .nkm-dd[data-key="mood"] .nkm-dd__menu,
  .nkm-dd[data-key="instrument"] .nkm-dd__menu{
    right:0;
    left:auto;
  }
  .nkm-dd__option{
    min-height:44px;
    padding:9px 10px;
  }
  .nkm-dd__option input[type="checkbox"],
  .nkm-switch input[type="checkbox"]{
    width:20px;
    height:20px;
    flex:0 0 20px;
  }
  .nkm-ranges{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
    padding:14px;
  }
  .nkm-range-sliders{
    height:44px;
    padding:14px 0;
  }
  .nkm-range::-webkit-slider-thumb{
    width:24px;
    height:24px;
    margin-top:-7px;
  }
  .nkm-range::-moz-range-thumb{
    width:24px;
    height:24px;
  }
  .nkm-layout-toggle{
    justify-content:space-between;
    margin:8px 0 12px;
  }
  .nkm-layout-toggle__seg{
    flex:1;
    max-width:240px;
  }
  .nkm-layout-toggle__btn{
    flex:1;
    min-height:44px;
  }
  .nkm-cards{
    grid-template-columns:minmax(0,1fr) !important;
  }
  .nkm-share-menu{
    width:calc(100vw - 24px);
    max-width:none;
    max-height:min(70dvh,520px);
    padding:12px;
  }
  .nkm-share-item,
  .nkm-share-menu__close{
    min-height:44px;
  }
  .nkm-share-menu__close{
    width:44px;
  }
  .nkm-subscriptions{
    padding:14px;
    border-radius:14px;
  }
  .nkm-subscriptions__grid{
    grid-template-columns:minmax(0,1fr);
  }
  .nkm-subscriptions__cta,
  .nkm-subscriptions__link{
    min-height:44px;
  }
  .nkm-modal{
    align-items:flex-end;
  }
  .nkm-modal__panel{
    width:100%;
    max-height:min(92dvh,760px);
    border-radius:18px 18px 0 0;
  }
  .nkm-modal__header{
    padding:18px 64px 14px 18px;
  }
  .nkm-modal__close{
    top:10px;
    right:10px;
    width:44px;
    height:44px;
  }
  .nkm-modal__body{
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
  }
  .nkm-lic-footer{
    flex-wrap:wrap;
  }
  .nkm-lic-footer .nkm-btn{
    flex:1 1 140px;
    min-height:44px;
  }
  .nkm-projects{
    margin:22px 0 36px;
    padding:18px;
  }
  .nkm-projects__detail{
    padding:16px;
  }
  .nkm-projects__import-actions,
  .nkm-projects__import-actions .nkm-btn{
    width:100%;
  }
  .nkm-projects .nkm-btn,
  .nkm-projects__toggle,
  .nkm-project-pill,
  .nkm-project-item-remove{
    min-height:44px;
  }
  #nkm-sticky-player{
    padding-bottom:env(safe-area-inset-bottom);
  }
  #nkm-sticky-player .nkm-sp__inner{
    grid-template-columns:48px 44px minmax(0,1fr) 44px 36px;
    grid-template-rows:auto;
    grid-template-areas:"art play meta volume close";
    gap:8px;
    padding:8px 10px !important;
  }
  #nkm-sticky-player .nkm-sp__art{
    grid-area:art;
    grid-row:auto;
    width:48px;
    height:48px;
  }
  #nkm-sticky-player .nkm-sp__play{
    grid-area:play;
    width:44px;
    height:44px;
  }
  #nkm-sticky-player .nkm-sp__meta{
    grid-area:meta;
    grid-column:auto;
    min-width:0;
    gap:2px;
  }
  #nkm-sticky-player .nkm-sp__title{
    font-size:13px;
  }
  #nkm-sticky-player .nkm-sp__times{
    font-size:11px;
  }
  #nkm-sticky-player .nkm-sp__wave{
    height:28px;
    border-radius:8px;
  }
  #nkm-sticky-player .nkm-sp__volume{
    grid-area:volume;
    justify-self:end;
    gap:0;
  }
  #nkm-sticky-player .nkm-sp__volume-button{
    width:44px;
    height:44px;
  }
  #nkm-sticky-player .nkm-sp__volume-range{
    display:none;
  }
  #nkm-sticky-player .nkm-sp__close{
    grid-area:close;
    display:flex;
    width:36px;
    height:36px;
    padding:0;
  }
}

@media (max-width:640px){
  .nkm-table .nkm-row:not(.nkm-card){
    grid-template-columns:44px minmax(0,1fr) auto auto !important;
    grid-template-areas:
      "play title title title"
      "play artist artist artist"
      "bpm bpm duration price"
      "actions actions actions actions"
      "excerpt excerpt excerpt excerpt";
    gap:8px 10px;
  }
  .nkm-table .nkm-row:not(.nkm-card) > .c5,
  .nkm-table .nkm-row:not(.nkm-card) > .c6,
  .nkm-table .nkm-row:not(.nkm-card) > .c7{
    display:flex;
    align-items:baseline;
    gap:5px;
    min-width:0;
    font-size:12px;
  }
  .nkm-table .nkm-row:not(.nkm-card) > [data-label]::before{
    content:attr(data-label);
    color:var(--nkm-dim);
    font-size:10px;
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
  .nkm-table .nkm-row:not(.nkm-card) > .c7{
    justify-self:end;
  }
  .nkm-drawer__image,
  .nkm-drawer__placeholder{
    max-width:100%;
  }
  .nkm-pager{
    flex-wrap:wrap;
    padding:10px 0;
  }
  .nkm-pager span{
    order:-1;
    flex:1 0 100%;
    justify-content:center;
  }
  .nkm-pager .nkm-btn{
    min-height:44px;
  }
  .nkm-lic-card{
    padding:16px;
  }
}

@media (max-width:480px){
  .nkm-table .nkm-row:not(.nkm-card) > .c8{
    justify-content:space-between;
    gap:6px;
  }
  .nkm-card{
    padding:10px;
  }
  .nkm-card__stats{
    gap:6px;
  }
  .nkm-stat{
    padding:6px 8px;
  }
  .nkm-range-head__row,
  .nkm-range-inputs{
    width:100%;
  }
  .nkm-range-inputs{
    justify-content:space-between;
  }
  .nkm-range-input__wrap{
    flex:1 1 52px;
    max-width:72px;
  }
  .nkm-projects__list{
    gap:8px;
  }
  .nkm-project-pill{
    flex:1 1 130px;
  }
  .nkm-project-item{
    padding:12px;
  }
  .nkm-project-item-note{
    width:100%;
  }
  #nkm-sticky-player .nkm-sp__inner{
    grid-template-columns:44px minmax(0,1fr) 44px 36px;
    grid-template-areas:"play meta volume close";
  }
  #nkm-sticky-player .nkm-sp__art{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  #nkm-app *,
  .nkm-app *,
  #nkm-sticky-player,
  #nkm-sticky-player *{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}
