/* WICK Nightclub DJ booth (DJ Vanta): catalog, previews, requests, queue and tips */
.dj-dlg { --dc: #FF4FD8; margin: auto; inset: 0; padding: 0; border: 1px solid rgba(255,79,216,.28); border-radius: 18px; background: #07070b; color: var(--bone, #F4F6F1); width: min(980px, calc(100vw - 24px)); max-width: none; height: min(860px, calc(100dvh - 24px)); max-height: none; overflow: hidden; box-shadow: 0 30px 90px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.03) inset; }
.dj-dlg::backdrop { background: rgba(3,3,8,.8); backdrop-filter: blur(6px); }
.dj-shell { height: 100%; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; background: radial-gradient(900px 380px at 50% -140px, rgba(255,79,216,.12), transparent 70%), radial-gradient(700px 360px at 100% 100%, rgba(140,107,255,.08), transparent 70%); }
.dj-top { position: sticky; top: 0; z-index: 3; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 14px 18px 12px; background: rgba(7,7,11,.93); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,79,216,.16); }
.dj-av { width: 52px; height: 52px; border-radius: 14px; object-fit: cover; border: 1px solid rgba(255,79,216,.4); background: #100e16; }
.dj-id { min-width: 0; }
.dj-id small { display: block; font-size: .6rem; letter-spacing: .2em; color: var(--dc); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-id h2 { margin: 2px 0; font-size: clamp(1.1rem, 1rem + .8vw, 1.55rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-id p { margin: 0; font-size: .78rem; color: var(--steel-2, #9aa0ab); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-bal { display: grid; justify-items: end; gap: 1px; white-space: nowrap; }
.dj-bal small { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--steel, #7d838f); }
.dj-bal b { font-size: .92rem; }
.dj-x { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--line-2, #23262f); background: #0d0d12; color: var(--bone, #F4F6F1); font-size: 1.5rem; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.dj-x:hover { border-color: rgba(255,79,216,.6); }

.dj-now { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 250px); gap: 16px; align-items: center; margin: 14px 18px 0; padding: 14px; border-radius: 16px; border: 1px solid rgba(255,79,216,.22); background: linear-gradient(135deg, rgba(255,79,216,.07), rgba(140,107,255,.05)); min-height: 112px; }
.dj-np { min-width: 0; display: grid; gap: 3px; }
.dj-np small { font-size: .58rem; letter-spacing: .18em; color: var(--dc); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-np b { font-size: 1.15rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-np span { font-size: .78rem; color: var(--steel-2, #9aa0ab); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-np em { font-style: normal; font-size: .72rem; color: var(--steel, #7d838f); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-bar { height: 4px; border-radius: 4px; background: rgba(255,255,255,.08); overflow: hidden; margin-top: 4px; }
.dj-bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #8C6BFF, #FF4FD8); border-radius: 4px; transition: width .5s linear; }
.dj-tip { min-width: 0; display: grid; gap: 6px; }
.dj-tip small { font-size: .58rem; letter-spacing: .16em; text-transform: uppercase; color: var(--steel, #7d838f); }
.dj-tip div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.dj-tip button { min-height: 36px; padding: 0 6px; border-radius: 10px; border: 1px solid rgba(200,255,46,.45); background: #050607; color: #EFFFD0; font: 700 .76rem/1 Satoshi, system-ui, sans-serif; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: 0 0 14px rgba(200,255,46,.12); }
.dj-tip button:hover { border-color: #C8FF2E; box-shadow: 0 0 20px rgba(200,255,46,.3); }
.dj-tip span { font-size: .68rem; color: var(--steel, #7d838f); line-height: 1.3; overflow-wrap: anywhere; }

.dj-art { --dja: #8C6BFF; --djb: #2EF2FF; flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px; background: linear-gradient(135deg, var(--dja), var(--djb)); display: grid; place-items: center; box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset; }
.dj-art svg { width: 100%; height: 100%; }
.dj-art.big { width: 84px; height: 84px; border-radius: 16px; }

.dj-tabs { display: flex; gap: 6px; padding: 14px 18px 0; overflow-x: auto; scrollbar-width: none; }
.dj-tabs::-webkit-scrollbar { display: none; }
.dj-tabs button, .dj-chips button { flex: 0 0 auto; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line-2, #23262f); background: #0b0b10; color: var(--steel-2, #9aa0ab); font: 600 .8rem/1 Satoshi, system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
.dj-tabs button.on, .dj-chips button.on { color: #fff; border-color: rgba(255,79,216,.6); background: rgba(255,79,216,.1); }
.dj-body { padding: 12px 18px 22px; }
.dj-chips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.dj-chips::-webkit-scrollbar { display: none; }
.dj-note { margin: 10px 0; font-size: .76rem; color: var(--steel-2, #9aa0ab); line-height: 1.4; overflow-wrap: anywhere; min-height: 2.8em; }
.dj-list, .dj-q, .dj-how { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dj-list li, .dj-q li, .dj-how li { max-width: none; text-wrap: wrap; }
.dj-list li, .dj-q li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 8px 10px; height: 64px; border-radius: 14px; border: 1px solid var(--line-2, #1d2028); background: #0a0a0f; }
.dj-q li { grid-template-columns: auto minmax(0, 1fr) auto; }
.dj-list li.dj-live, .dj-q li.dj-live { border-color: rgba(255,79,216,.45); background: rgba(255,79,216,.06); }
.dj-ti { min-width: 0; display: grid; gap: 3px; }
.dj-ti b { font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-ti b em { font-style: normal; font-size: .62rem; letter-spacing: .12em; padding: 2px 6px; border-radius: 6px; border: 1px solid rgba(255,201,74,.45); color: #FFD76A; vertical-align: 2px; }
.dj-ti span { font-size: .72rem; color: var(--steel, #7d838f); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-q i { font-style: normal; font-size: .72rem; color: var(--steel-2, #9aa0ab); white-space: nowrap; font-variant-numeric: tabular-nums; }
.dj-q li.dj-live i { color: var(--dc); letter-spacing: .14em; font-weight: 700; }
.dj-pv { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--line-2, #23262f); background: #0d0d12; color: #fff; cursor: pointer; display: grid; place-items: center; padding: 0; }
.dj-pv svg { width: 18px; height: 18px; fill: currentColor; }
.dj-pv .s { display: none; }
.dj-pv.on { border-color: rgba(255,79,216,.7); color: var(--dc); }
.dj-pv.on .p { display: none; }
.dj-pv.on .s { display: block; }
.dj-rq { display: grid; justify-items: center; align-content: center; gap: 2px; width: 108px; height: 44px; padding: 0 8px; border-radius: 12px; border: 1px solid rgba(200,255,46,.5); background: #050607; color: #EFFFD0; font: 700 .78rem/1 Satoshi, system-ui, sans-serif; cursor: pointer; box-shadow: 0 0 14px rgba(200,255,46,.14); }
.dj-rq span, .dj-rq b { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dj-rq b { font-size: .68rem; color: #C8FF2E; }
.dj-rq b:empty { display: none; }
.dj-rq:hover:not(:disabled) { border-color: #C8FF2E; box-shadow: 0 0 22px rgba(200,255,46,.32); }
.dj-rq.cf { border-color: #C8FF2E; box-shadow: 0 0 0 1px rgba(200,255,46,.25) inset, 0 0 24px rgba(200,255,46,.35); }
.dj-rq:disabled { cursor: default; border-color: var(--line-2, #23262f); color: var(--steel-2, #9aa0ab); box-shadow: none; }
.dj-empty { margin: 14px 2px; font-size: .82rem; color: var(--steel-2, #9aa0ab); line-height: 1.5; overflow-wrap: anywhere; }
.dj-how li { display: grid; gap: 4px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line-2, #1d2028); background: #0a0a0f; }
.dj-how b { font-size: .9rem; overflow-wrap: anywhere; }
.dj-how span { font-size: .8rem; color: var(--steel-2, #9aa0ab); line-height: 1.45; overflow-wrap: anywhere; }

@media (max-width: 720px) {
  .dj-dlg { width: calc(100vw - 12px); height: calc(100dvh - 12px); border-radius: 16px; }
  .dj-top { grid-template-columns: auto minmax(0, 1fr) auto; padding: 12px 12px 10px; gap: 10px; }
  .dj-bal { display: none; }
  .dj-av { width: 44px; height: 44px; }
  .dj-now { grid-template-columns: auto minmax(0, 1fr); margin: 10px 12px 0; padding: 12px; gap: 12px; }
  .dj-art.big { width: 64px; height: 64px; }
  .dj-tip { grid-column: 1 / -1; }
  .dj-tabs { padding: 12px 12px 0; }
  .dj-body { padding: 10px 12px 18px; }
  .dj-list li { gap: 8px; padding: 8px; }
  .dj-art { width: 40px; height: 40px; border-radius: 10px; }
  .dj-rq { width: 84px; }
}
@media (max-width: 380px) { .dj-ti span { font-size: .68rem; } .dj-rq { width: 76px; } }
