@nice2dev/ui-audio 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/constants/audioColors.d.ts.map +1 -1
  2. package/dist/constants/ui.d.ts.map +1 -1
  3. package/dist/dmx/DmxChannelControls.d.ts.map +1 -1
  4. package/dist/dmx/DmxEditor.d.ts.map +1 -1
  5. package/dist/editor/AudioMiniMap.d.ts.map +1 -1
  6. package/dist/editor/Waveform.d.ts.map +1 -1
  7. package/dist/editor/panels/ArpeggiatorPanel.d.ts.map +1 -1
  8. package/dist/editor/panels/CCAutomationLaneEditor.d.ts.map +1 -1
  9. package/dist/editor/panels/DisplayModeSelector.d.ts.map +1 -1
  10. package/dist/editor/panels/EditorPanels.d.ts.map +1 -1
  11. package/dist/editor/panels/LFOPanel.d.ts.map +1 -1
  12. package/dist/editor/panels/LayerTrack.d.ts.map +1 -1
  13. package/dist/editor/panels/StepSequencerPanel.d.ts.map +1 -1
  14. package/dist/editor/useEditorTrack.d.ts.map +1 -1
  15. package/dist/effects/noteThemeColors.d.ts.map +1 -1
  16. package/dist/index.cjs +18 -18
  17. package/dist/index.mjs +607 -491
  18. package/dist/karaoke/AudioPitchAnalyzer.d.ts.map +1 -1
  19. package/dist/karaoke/BarFillEditor.d.ts +1 -1
  20. package/dist/karaoke/BarFillEditor.d.ts.map +1 -1
  21. package/dist/karaoke/rendering/glossyBarRenderer.d.ts +1 -1
  22. package/dist/karaoke/rendering/glossyBarRenderer.d.ts.map +1 -1
  23. package/dist/karaoke/rendering/karaokeDisplaySettings.d.ts.map +1 -1
  24. package/dist/karaoke/rendering/karaokeSettings.d.ts +2 -2
  25. package/dist/karaoke/rendering/karaokeSettings.d.ts.map +1 -1
  26. package/dist/karaokeEditor/KaraokeEditorManager.d.ts.map +1 -1
  27. package/dist/karaokeEditor/KaraokePhaserRenderer.d.ts.map +1 -1
  28. package/dist/player/GenericPlayer.d.ts.map +1 -1
  29. package/dist/player/GenericPlayerTrackList.d.ts.map +1 -1
  30. package/dist/player/visualizer/modes/CoverMode.d.ts.map +1 -1
  31. package/dist/player/visualizer/modes/LavaLampMode.d.ts.map +1 -1
  32. package/dist/player/visualizer/modes/PlasmaBallMode.d.ts.map +1 -1
  33. package/dist/player/visualizer/modes/RadialMode.d.ts.map +1 -1
  34. package/dist/player/visualizer/modes/RiftMode.d.ts.map +1 -1
  35. package/dist/player/visualizer/modes/WaveformMode.d.ts.map +1 -1
  36. package/dist/playlist/GenericPlaylist.d.ts.map +1 -1
  37. package/dist/playlist/PlaylistBrowser.d.ts +4 -4
  38. package/dist/playlist/PlaylistBrowser.d.ts.map +1 -1
  39. package/dist/playlist/PlaylistList.d.ts.map +1 -1
  40. package/dist/playlist/PlaylistOverview.d.ts.map +1 -1
  41. package/dist/radio/NiceRadioPlayer.d.ts +1 -1
  42. package/dist/radio/NiceRadioPlayer.d.ts.map +1 -1
  43. package/dist/streaming/NiceStreamingVisualizer.d.ts +2 -2
  44. package/dist/streaming/NiceStreamingVisualizer.d.ts.map +1 -1
  45. package/dist/streaming/NiceVoiceChatOverlay.d.ts.map +1 -1
  46. package/dist/ui-audio.css +1 -1
  47. package/dist/workers/useWorker.d.ts.map +1 -1
  48. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -138,16 +138,16 @@ const st = {
138
138
  return;
139
139
  const A = Q, R = a;
140
140
  if (W.width = A, W.height = R + z, w.clearRect(0, 0, A, R + z), p !== "transparent" && (w.fillStyle = p, w.fillRect(0, 0, A, R + z)), b) {
141
- w.fillStyle = "rgba(128,128,128,0.15)", w.fillRect(0, 0, A, z), w.fillStyle = "#888", w.font = "10px monospace", w.textAlign = "center";
141
+ w.fillStyle = "rgba(128,128,128,0.15)", w.fillRect(0, 0, A, z), w.fillStyle = "var(--nice-text-secondary, #888)", w.font = "10px monospace", w.textAlign = "center";
142
142
  const P = Math.max(1, Math.floor(n / (Q / 80)));
143
143
  for (let M = 0; M <= n; M += P) {
144
144
  const I = M / n * A;
145
- w.fillText(ui(M), I, z - 4), w.fillStyle = "rgba(128,128,128,0.3)", w.fillRect(I, z, 1, R), w.fillStyle = "#888";
145
+ w.fillText(ui(M), I, z - 4), w.fillStyle = "rgba(128,128,128,0.3)", w.fillRect(I, z, 1, R), w.fillStyle = "var(--nice-text-secondary, #888)";
146
146
  }
147
147
  }
148
148
  for (const P of c) {
149
149
  const M = P.start / n * A, I = P.end / n * A;
150
- w.fillStyle = P.color ?? "rgba(99,102,241,0.15)", w.fillRect(M, z, I - M, R), P.label && (w.fillStyle = P.color ?? "#6366f1", w.font = "10px sans-serif", w.textAlign = "left", w.fillText(P.label, M + 2, z + 12));
150
+ w.fillStyle = P.color ?? "var(--nice-accent-tint-15, rgba(99, 102, 241, 0.15))", w.fillRect(M, z, I - M, R), P.label && (w.fillStyle = P.color ?? "var(--nice-info, #6366f1)", w.font = "10px sans-serif", w.textAlign = "left", w.fillText(P.label, M + 2, z + 12));
151
151
  }
152
152
  if (q !== null && $ !== null) {
153
153
  const P = Math.min(q, $), M = Math.max(q, $);
@@ -166,7 +166,7 @@ const st = {
166
166
  const re = Math.sqrt(ie / (se * 2));
167
167
  I = Math.max(I, re);
168
168
  }
169
- h && x && P > 1 && (w.fillStyle = "rgba(255,255,255,0.6)", w.font = "bold 11px sans-serif", w.textAlign = "left", w.fillText(F === 0 ? "L" : F === 1 ? "R" : `Ch${F + 1}`, 4, te + 14));
169
+ h && x && P > 1 && (w.fillStyle = "var(--nice-overlay-light-60, rgba(255, 255, 255, 0.6))", w.font = "bold 11px sans-serif", w.textAlign = "left", w.fillText(F === 0 ? "L" : F === 1 ? "R" : `Ch${F + 1}`, 4, te + 14));
170
170
  }
171
171
  j(I);
172
172
  }
@@ -176,7 +176,7 @@ const st = {
176
176
  }
177
177
  for (const P of l) {
178
178
  const M = P.time / n * A;
179
- w.beginPath(), w.strokeStyle = P.color ?? "#f59e0b", w.lineWidth = 2, w.setLineDash([4, 4]), w.moveTo(M, z), w.lineTo(M, R + z), w.stroke(), w.setLineDash([]), P.label && (w.fillStyle = P.color ?? "#f59e0b", w.font = "bold 10px sans-serif", w.textAlign = "center", w.fillText(P.label, M, z + R - 4));
179
+ w.beginPath(), w.strokeStyle = P.color ?? "var(--nice-warning, #f59e0b)", w.lineWidth = 2, w.setLineDash([4, 4]), w.moveTo(M, z), w.lineTo(M, R + z), w.stroke(), w.setLineDash([]), P.label && (w.fillStyle = P.color ?? "var(--nice-warning, #f59e0b)", w.font = "bold 10px sans-serif", w.textAlign = "center", w.fillText(P.label, M, z + R - 4));
180
180
  }
181
181
  }, [
182
182
  e,
@@ -271,7 +271,7 @@ const st = {
271
271
  top: z + 4,
272
272
  bottom: 4,
273
273
  width: 12,
274
- background: "rgba(0,0,0,0.3)",
274
+ background: "var(--nice-overlay-30, rgba(0, 0, 0, 0.3))",
275
275
  borderRadius: 4,
276
276
  overflow: "hidden"
277
277
  },
@@ -283,7 +283,7 @@ const st = {
283
283
  bottom: 0,
284
284
  width: "100%",
285
285
  height: `${Math.min(100, L * 300)}%`,
286
- background: L > 0.8 ? "#ef4444" : L > 0.5 ? "#f59e0b" : "#22c55e",
286
+ background: L > 0.8 ? "var(--nice-danger, #ef4444)" : L > 0.5 ? "var(--nice-warning, #f59e0b)" : "var(--nice-success, #22c55e)",
287
287
  borderRadius: 4,
288
288
  transition: "height 50ms"
289
289
  }
@@ -1038,15 +1038,15 @@ const cr = 140, rn = 24, Li = [
1038
1038
  if (!A)
1039
1039
  return;
1040
1040
  const R = w.width, P = w.height;
1041
- A.clearRect(0, 0, R, P), A.fillStyle = "#1a1a2e", A.fillRect(0, 0, R, P), A.strokeStyle = "rgba(255,255,255,0.06)", A.lineWidth = 1;
1041
+ A.clearRect(0, 0, R, P), A.fillStyle = "var(--nice-bg, #1a1a2e)", A.fillRect(0, 0, R, P), A.strokeStyle = "var(--nice-overlay-light-6, rgba(255, 255, 255, 0.06))", A.lineWidth = 1;
1042
1042
  for (let F = 0; F <= 127; F += 16) {
1043
1043
  const H = L(F);
1044
1044
  A.beginPath(), A.moveTo(0, H), A.lineTo(R, H), A.stroke();
1045
1045
  }
1046
- A.fillStyle = "rgba(255,255,255,0.3)", A.font = "10px monospace", A.textBaseline = "middle";
1046
+ A.fillStyle = "var(--nice-overlay-light-30, rgba(255, 255, 255, 0.3))", A.font = "10px monospace", A.textBaseline = "middle";
1047
1047
  for (const F of [0, 32, 64, 96, 127])
1048
1048
  A.fillText(String(F), 2, L(F));
1049
- A.strokeStyle = "rgba(255,255,255,0.04)";
1049
+ A.strokeStyle = "var(--nice-overlay-light-4, rgba(255, 255, 255, 0.04))";
1050
1050
  for (let F = 0; F <= n; F++) {
1051
1051
  const H = D(F);
1052
1052
  A.beginPath(), A.moveTo(H, 0), A.lineTo(H, P), A.stroke();
@@ -1056,7 +1056,7 @@ const cr = 140, rn = 24, Li = [
1056
1056
  A.beginPath(), A.moveTo(D(M[0].time), P - rn);
1057
1057
  for (const F of M)
1058
1058
  A.lineTo(D(F.time), L(F.value));
1059
- A.lineTo(D(M[M.length - 1].time), P - rn), A.closePath(), A.fillStyle = "rgba(59, 130, 246, 0.15)", A.fill(), A.beginPath(), A.strokeStyle = "#3b82f6", A.lineWidth = 2;
1059
+ A.lineTo(D(M[M.length - 1].time), P - rn), A.closePath(), A.fillStyle = "var(--nice-primary-tint-15, rgba(59, 130, 246, 0.15))", A.fill(), A.beginPath(), A.strokeStyle = "var(--nice-primary, #3b82f6)", A.lineWidth = 2;
1060
1060
  for (let F = 0; F < M.length; F++) {
1061
1061
  const H = D(M[F].time), te = L(M[F].value);
1062
1062
  F === 0 ? A.moveTo(H, te) : ((M[F].handleType ?? "linear") === "step" && A.lineTo(H, L(M[F - 1].value)), A.lineTo(H, te));
@@ -1064,10 +1064,10 @@ const cr = 140, rn = 24, Li = [
1064
1064
  A.stroke();
1065
1065
  for (const F of M) {
1066
1066
  const H = D(F.time), te = L(F.value), ne = y === F.id;
1067
- A.beginPath(), A.arc(H, te, ne ? 6 : 4, 0, Math.PI * 2), A.fillStyle = ne ? "#60a5fa" : "#3b82f6", A.fill(), A.strokeStyle = "#fff", A.lineWidth = 1.5, A.stroke();
1067
+ A.beginPath(), A.arc(H, te, ne ? 6 : 4, 0, Math.PI * 2), A.fillStyle = ne ? "var(--nice-primary-light, #60a5fa)" : "var(--nice-primary, #3b82f6)", A.fill(), A.strokeStyle = "var(--nice-bg, #fff)", A.lineWidth = 1.5, A.stroke();
1068
1068
  }
1069
1069
  }
1070
- A.strokeStyle = "rgba(255,255,255,0.15)", A.lineWidth = 1, A.setLineDash([4, 4]);
1070
+ A.strokeStyle = "var(--nice-overlay-light-15, rgba(255, 255, 255, 0.15))", A.lineWidth = 1, A.setLineDash([4, 4]);
1071
1071
  const I = L(0);
1072
1072
  A.beginPath(), A.moveTo(0, I), A.lineTo(R, I), A.stroke(), A.setLineDash([]);
1073
1073
  }, [N, n, q, D, L, y]);
@@ -1158,19 +1158,23 @@ const cr = 140, rn = 24, Li = [
1158
1158
  "div",
1159
1159
  {
1160
1160
  className: "card p-3 mb-3",
1161
- style: { background: "#0d1117", color: "#e6edf3", borderRadius: 8 },
1161
+ style: {
1162
+ background: "var(--nice-bg, #0d1117)",
1163
+ color: "var(--nice-text, #e6edf3)",
1164
+ borderRadius: 8
1165
+ },
1162
1166
  children: [
1163
1167
  /* @__PURE__ */ v("div", { className: "d-flex align-items-center gap-2 mb-2 flex-wrap", children: [
1164
- /* @__PURE__ */ d("h6", { className: "mb-0", style: { color: "#58a6ff" }, children: u("ccLane.title", "CC Automation Lane") }),
1168
+ /* @__PURE__ */ d("h6", { className: "mb-0", style: { color: "var(--nice-primary, #58a6ff)" }, children: u("ccLane.title", "CC Automation Lane") }),
1165
1169
  /* @__PURE__ */ d(
1166
1170
  "select",
1167
1171
  {
1168
1172
  className: "form-select form-select-sm",
1169
1173
  style: {
1170
1174
  width: 160,
1171
- background: "#161b22",
1172
- color: "#e6edf3",
1173
- border: "1px solid #30363d"
1175
+ background: "var(--nice-bg-secondary, #161b22)",
1176
+ color: "var(--nice-text, #e6edf3)",
1177
+ border: "1px solid var(--nice-border, #30363d)"
1174
1178
  },
1175
1179
  value: t,
1176
1180
  onChange: (w) => o(Number(w.target.value)),
@@ -1266,17 +1270,27 @@ const cr = 140, rn = 24, Li = [
1266
1270
  children: "Clear"
1267
1271
  }
1268
1272
  ),
1269
- /* @__PURE__ */ v("span", { style: { fontSize: 11, color: "#8b949e", marginLeft: "auto" }, children: [
1270
- N.length,
1271
- " ",
1272
- u("ccLane.events", "events")
1273
- ] })
1273
+ /* @__PURE__ */ v(
1274
+ "span",
1275
+ {
1276
+ style: { fontSize: 11, color: "var(--nice-text-muted, #8b949e)", marginLeft: "auto" },
1277
+ children: [
1278
+ N.length,
1279
+ " ",
1280
+ u("ccLane.events", "events")
1281
+ ]
1282
+ }
1283
+ )
1274
1284
  ] }),
1275
1285
  g && /* @__PURE__ */ d(
1276
1286
  "div",
1277
1287
  {
1278
1288
  className: "mb-2 p-2",
1279
- style: { background: "#161b22", borderRadius: 6, border: "1px solid #30363d" },
1289
+ style: {
1290
+ background: "var(--nice-bg-secondary, #161b22)",
1291
+ borderRadius: 6,
1292
+ border: "1px solid var(--nice-border, #30363d)"
1293
+ },
1280
1294
  children: /* @__PURE__ */ v("div", { className: "d-flex gap-2 flex-wrap align-items-center mb-2", children: [
1281
1295
  /* @__PURE__ */ v("label", { style: { fontSize: 12 }, children: [
1282
1296
  "Wave:",
@@ -1287,9 +1301,9 @@ const cr = 140, rn = 24, Li = [
1287
1301
  style: {
1288
1302
  width: 110,
1289
1303
  display: "inline-block",
1290
- background: "#0d1117",
1291
- color: "#e6edf3",
1292
- border: "1px solid #30363d"
1304
+ background: "var(--nice-bg, #0d1117)",
1305
+ color: "var(--nice-text, #e6edf3)",
1306
+ border: "1px solid var(--nice-border, #30363d)"
1293
1307
  },
1294
1308
  value: C.waveform,
1295
1309
  onChange: (w) => E((A) => ({ ...A, waveform: w.target.value })),
@@ -1309,9 +1323,9 @@ const cr = 140, rn = 24, Li = [
1309
1323
  style: {
1310
1324
  width: 70,
1311
1325
  display: "inline-block",
1312
- background: "#0d1117",
1313
- color: "#e6edf3",
1314
- border: "1px solid #30363d"
1326
+ background: "var(--nice-bg, #0d1117)",
1327
+ color: "var(--nice-text, #e6edf3)",
1328
+ border: "1px solid var(--nice-border, #30363d)"
1315
1329
  },
1316
1330
  min: 0.01,
1317
1331
  max: 20,
@@ -1380,7 +1394,7 @@ const cr = 140, rn = 24, Li = [
1380
1394
  "aria-label": "CC automation lane editor canvas"
1381
1395
  }
1382
1396
  ) }),
1383
- /* @__PURE__ */ d("div", { style: { fontSize: 11, color: "#8b949e", marginTop: 4 }, children: u("ccLane.hint", "Click to draw. Double-click to add/remove points. Drag to draw curves.") })
1397
+ /* @__PURE__ */ d("div", { style: { fontSize: 11, color: "var(--nice-text-muted, #8b949e)", marginTop: 4 }, children: u("ccLane.hint", "Click to draw. Double-click to add/remove points. Drag to draw curves.") })
1384
1398
  ]
1385
1399
  }
1386
1400
  );
@@ -1497,14 +1511,14 @@ const Nh = ({
1497
1511
  {
1498
1512
  className: "card p-3 mb-3",
1499
1513
  style: {
1500
- background: "#0d1117",
1501
- color: "#e6edf3",
1514
+ background: "var(--nice-bg, #0d1117)",
1515
+ color: "var(--nice-text, #e6edf3)",
1502
1516
  borderRadius: 8,
1503
1517
  opacity: n ? 1 : 0.6
1504
1518
  },
1505
1519
  children: [
1506
1520
  /* @__PURE__ */ v("div", { className: "d-flex align-items-center gap-2 mb-2", children: [
1507
- /* @__PURE__ */ d("h6", { className: "mb-0", style: { color: "#58a6ff" }, children: a("arp.title", "Arpeggiator") }),
1521
+ /* @__PURE__ */ d("h6", { className: "mb-0", style: { color: "var(--nice-primary, #58a6ff)" }, children: a("arp.title", "Arpeggiator") }),
1508
1522
  /* @__PURE__ */ d(
1509
1523
  "button",
1510
1524
  {
@@ -1553,7 +1567,11 @@ const Nh = ({
1553
1567
  "select",
1554
1568
  {
1555
1569
  className: "form-select form-select-sm",
1556
- style: { background: "#161b22", color: "#e6edf3", border: "1px solid #30363d" },
1570
+ style: {
1571
+ background: "var(--nice-bg-secondary, #161b22)",
1572
+ color: "var(--nice-text, #e6edf3)",
1573
+ border: "1px solid var(--nice-border, #30363d)"
1574
+ },
1557
1575
  value: e.rate,
1558
1576
  onChange: (l) => s({ rate: l.target.value }),
1559
1577
  children: i.map((l) => /* @__PURE__ */ d("option", { value: l, children: l }, l))
@@ -1657,10 +1675,10 @@ const Nh = ({
1657
1675
  const c = l.getContext("2d");
1658
1676
  if (!c)
1659
1677
  return;
1660
- c.clearRect(0, 0, an, zt), c.fillStyle = "#161b22", c.fillRect(0, 0, an, zt), c.strokeStyle = "rgba(255,255,255,0.1)", c.lineWidth = 1, c.setLineDash([3, 3]), c.beginPath(), c.moveTo(0, zt / 2), c.lineTo(an, zt / 2), c.stroke(), c.setLineDash([]);
1678
+ c.clearRect(0, 0, an, zt), c.fillStyle = "var(--nice-bg-secondary, #161b22)", c.fillRect(0, 0, an, zt), c.strokeStyle = "var(--nice-overlay-light-10, rgba(255, 255, 255, 0.1))", c.lineWidth = 1, c.setLineDash([3, 3]), c.beginPath(), c.moveTo(0, zt / 2), c.lineTo(an, zt / 2), c.stroke(), c.setLineDash([]);
1661
1679
  const u = Ei(e, an, zt);
1662
1680
  if (u.length > 0) {
1663
- c.beginPath(), c.strokeStyle = e.enabled ? "#3b82f6" : "#484f58", c.lineWidth = 1.5;
1681
+ c.beginPath(), c.strokeStyle = e.enabled ? "var(--nice-primary, #3b82f6)" : "var(--nice-text-secondary, #484f58)", c.lineWidth = 1.5;
1664
1682
  for (let h = 0; h < u.length; h++) {
1665
1683
  const f = u[h].x, m = u[h].y;
1666
1684
  h === 0 ? c.moveTo(f, m) : c.lineTo(f, m);
@@ -1675,14 +1693,14 @@ const Nh = ({
1675
1693
  {
1676
1694
  className: "card p-2 mb-2",
1677
1695
  style: {
1678
- background: "#0d1117",
1679
- color: "#e6edf3",
1696
+ background: "var(--nice-bg, #0d1117)",
1697
+ color: "var(--nice-text, #e6edf3)",
1680
1698
  borderRadius: 8,
1681
1699
  opacity: e.enabled ? 1 : 0.5
1682
1700
  },
1683
1701
  children: [
1684
1702
  /* @__PURE__ */ v("div", { className: "d-flex align-items-center gap-2 mb-2", children: [
1685
- /* @__PURE__ */ v("h6", { className: "mb-0", style: { color: "#58a6ff", fontSize: 13 }, children: [
1703
+ /* @__PURE__ */ v("h6", { className: "mb-0", style: { color: "var(--nice-primary, #58a6ff)", fontSize: 13 }, children: [
1686
1704
  a("lfo.title", "LFO"),
1687
1705
  " ",
1688
1706
  n !== void 0 ? `#${n + 1}` : ""
@@ -1723,7 +1741,11 @@ const Nh = ({
1723
1741
  ref: o,
1724
1742
  width: an,
1725
1743
  height: zt,
1726
- style: { borderRadius: 4, border: "1px solid #30363d", flexShrink: 0 },
1744
+ style: {
1745
+ borderRadius: 4,
1746
+ border: "1px solid var(--nice-border, #30363d)",
1747
+ flexShrink: 0
1748
+ },
1727
1749
  role: "img",
1728
1750
  "aria-label": "LFO waveform preview canvas"
1729
1751
  }
@@ -1841,9 +1863,9 @@ const Nh = ({
1841
1863
  className: "form-select form-select-sm",
1842
1864
  style: {
1843
1865
  width: 80,
1844
- background: "#161b22",
1845
- color: "#e6edf3",
1846
- border: "1px solid #30363d",
1866
+ background: "var(--nice-bg-secondary, #161b22)",
1867
+ color: "var(--nice-text, #e6edf3)",
1868
+ border: "1px solid var(--nice-border, #30363d)",
1847
1869
  fontSize: 11
1848
1870
  },
1849
1871
  value: e.syncDivision ?? "1/4",
@@ -1861,9 +1883,9 @@ const Nh = ({
1861
1883
  style: {
1862
1884
  width: 55,
1863
1885
  display: "inline-block",
1864
- background: "#161b22",
1865
- color: "#e6edf3",
1866
- border: "1px solid #30363d",
1886
+ background: "var(--nice-bg-secondary, #161b22)",
1887
+ color: "var(--nice-text, #e6edf3)",
1888
+ border: "1px solid var(--nice-border, #30363d)",
1867
1889
  fontSize: 11
1868
1890
  },
1869
1891
  min: 0,
@@ -1898,10 +1920,14 @@ const Eh = ({
1898
1920
  "div",
1899
1921
  {
1900
1922
  className: "card p-3 mb-3",
1901
- style: { background: "#0d1117", color: "#e6edf3", borderRadius: 8 },
1923
+ style: {
1924
+ background: "var(--nice-bg, #0d1117)",
1925
+ color: "var(--nice-text, #e6edf3)",
1926
+ borderRadius: 8
1927
+ },
1902
1928
  children: [
1903
- /* @__PURE__ */ d("h6", { className: "mb-0", style: { color: "#58a6ff" }, children: i("stepSeq.title", "Step Sequencer") }),
1904
- /* @__PURE__ */ d("small", { style: { color: "#8b949e" }, children: "Provide a `seq` prop (useStepSequencer) for live editing." })
1929
+ /* @__PURE__ */ d("h6", { className: "mb-0", style: { color: "var(--nice-primary, #58a6ff)" }, children: i("stepSeq.title", "Step Sequencer") }),
1930
+ /* @__PURE__ */ d("small", { style: { color: "var(--nice-text-muted, #8b949e)" }, children: "Provide a `seq` prop (useStepSequencer) for live editing." })
1905
1931
  ]
1906
1932
  }
1907
1933
  );
@@ -1910,10 +1936,14 @@ const Eh = ({
1910
1936
  "div",
1911
1937
  {
1912
1938
  className: "card p-3 mb-3",
1913
- style: { background: "#0d1117", color: "#e6edf3", borderRadius: 8 },
1939
+ style: {
1940
+ background: "var(--nice-bg, #0d1117)",
1941
+ color: "var(--nice-text, #e6edf3)",
1942
+ borderRadius: 8
1943
+ },
1914
1944
  children: [
1915
1945
  /* @__PURE__ */ v("div", { className: "d-flex align-items-center gap-2 mb-2 flex-wrap", children: [
1916
- /* @__PURE__ */ d("h6", { className: "mb-0", style: { color: "#58a6ff" }, children: i("stepSeq.title", "Step Sequencer") }),
1946
+ /* @__PURE__ */ d("h6", { className: "mb-0", style: { color: "var(--nice-primary, #58a6ff)" }, children: i("stepSeq.title", "Step Sequencer") }),
1917
1947
  /* @__PURE__ */ d(
1918
1948
  "button",
1919
1949
  {
@@ -1932,9 +1962,9 @@ const Eh = ({
1932
1962
  className: "form-control form-control-sm",
1933
1963
  style: {
1934
1964
  width: 70,
1935
- background: "#161b22",
1936
- color: "#e6edf3",
1937
- border: "1px solid #30363d"
1965
+ background: "var(--nice-bg-secondary, #161b22)",
1966
+ color: "var(--nice-text, #e6edf3)",
1967
+ border: "1px solid var(--nice-border, #30363d)"
1938
1968
  },
1939
1969
  min: 20,
1940
1970
  max: 300,
@@ -2013,7 +2043,16 @@ const Eh = ({
2013
2043
  minWidth: 34
2014
2044
  },
2015
2045
  children: [
2016
- /* @__PURE__ */ d("span", { style: { fontSize: 9, color: b ? "#8b949e" : "#30363d" }, children: f + 1 }),
2046
+ /* @__PURE__ */ d(
2047
+ "span",
2048
+ {
2049
+ style: {
2050
+ fontSize: 9,
2051
+ color: b ? "var(--nice-text-muted, #8b949e)" : "var(--nice-border, #30363d)"
2052
+ },
2053
+ children: f + 1
2054
+ }
2055
+ ),
2017
2056
  /* @__PURE__ */ d(
2018
2057
  "button",
2019
2058
  {
@@ -2022,11 +2061,11 @@ const Eh = ({
2022
2061
  width: 32,
2023
2062
  height: 32,
2024
2063
  borderRadius: 4,
2025
- border: p ? "2px solid #f0c040" : "1px solid #30363d",
2026
- background: m ? `hsl(${210 + h.velocity / 127 * 40}, 80%, ${35 + h.velocity / 127 * 20}%)` : b ? "#21262d" : "#161b22",
2064
+ border: p ? "2px solid var(--nice-warning, #f0c040)" : "1px solid var(--nice-border, #30363d)",
2065
+ background: m ? `hsl(${210 + h.velocity / 127 * 40}, 80%, ${35 + h.velocity / 127 * 20}%)` : b ? "#21262d" : "var(--nice-bg-secondary, #161b22)",
2027
2066
  cursor: "pointer",
2028
2067
  padding: 0,
2029
- color: m ? "#fff" : "#484f58",
2068
+ color: m ? "var(--nice-bg, #fff)" : "var(--nice-text-secondary, #484f58)",
2030
2069
  fontSize: 8,
2031
2070
  fontWeight: 600,
2032
2071
  transition: "background 0.1s"
@@ -2040,7 +2079,7 @@ const Eh = ({
2040
2079
  style: {
2041
2080
  width: 32,
2042
2081
  height: 20,
2043
- background: "#161b22",
2082
+ background: "var(--nice-bg-secondary, #161b22)",
2044
2083
  borderRadius: 2,
2045
2084
  position: "relative",
2046
2085
  overflow: "hidden"
@@ -2054,7 +2093,7 @@ const Eh = ({
2054
2093
  left: 0,
2055
2094
  width: "100%",
2056
2095
  height: `${h.velocity / 127 * 100}%`,
2057
- background: m ? "rgba(59, 130, 246, 0.6)" : "rgba(59, 130, 246, 0.15)",
2096
+ background: m ? "var(--nice-primary-tint-60, rgba(59, 130, 246, 0.6))" : "var(--nice-primary-tint-15, rgba(59, 130, 246, 0.15))",
2058
2097
  borderRadius: 2,
2059
2098
  cursor: "ns-resize"
2060
2099
  },
@@ -2075,7 +2114,7 @@ const Eh = ({
2075
2114
  )
2076
2115
  }
2077
2116
  ),
2078
- m && h.probability < 1 && /* @__PURE__ */ v("span", { style: { fontSize: 8, color: "#f0c040" }, children: [
2117
+ m && h.probability < 1 && /* @__PURE__ */ v("span", { style: { fontSize: 8, color: "var(--nice-warning, #f0c040)" }, children: [
2079
2118
  Math.round(h.probability * 100),
2080
2119
  "%"
2081
2120
  ] })
@@ -2084,11 +2123,11 @@ const Eh = ({
2084
2123
  f
2085
2124
  );
2086
2125
  }) }) }),
2087
- /* @__PURE__ */ d("div", { style: { fontSize: 11, color: "#8b949e", marginTop: 6 }, children: i("stepSeq.hint", "Click steps to toggle. Drag velocity bars vertically.") })
2126
+ /* @__PURE__ */ d("div", { style: { fontSize: 11, color: "var(--nice-text-muted, #8b949e)", marginTop: 6 }, children: i("stepSeq.hint", "Click steps to toggle. Drag velocity bars vertically.") })
2088
2127
  ]
2089
2128
  }
2090
2129
  );
2091
- }, Vi = "_panelNarrow_se2i3_3", Ui = "_panelWide_se2i3_9", qi = "_smallLabel_se2i3_19", Hi = "_noteText_se2i3_29", ji = "_buttonRow_se2i3_41", Ki = "_noteTextMargin_se2i3_49", Yi = "_rangeW100_se2i3_63", Zi = "_zoomValue_se2i3_69", Xi = "_selectW100_se2i3_77", Qi = "_inputW70_se2i3_83", Ji = "_masterVolGroup_se2i3_93", es = "_rangeW140_se2i3_99", ts = "_volumeValue_se2i3_105", ns = "_selectW140_se2i3_115", rs = "_freqGroup_se2i3_121", as = "_freqValue_se2i3_127", os = "_narrowGroup_se2i3_137", is = "_rangeW120_se2i3_143", ss = "_smallValue_se2i3_149", ls = "_presetDivider_se2i3_159", cs = "_presetLabel_se2i3_165", ds = "_presetBtn_se2i3_175", us = "_deletePresetSelect_se2i3_183", hs = "_presetNameInput_se2i3_191", ps = "_savePresetBtn_se2i3_199", fs = "_countInAlert_se2i3_211", ms = "_inputW80_se2i3_219", gs = "_levelLabel_se2i3_225", ys = "_levelMeter_se2i3_233", bs = "_levelBar_se2i3_249", be = {
2130
+ }, Vi = "_panelNarrow_42xt3_3", Ui = "_panelWide_42xt3_9", qi = "_smallLabel_42xt3_19", Hi = "_noteText_42xt3_29", ji = "_buttonRow_42xt3_41", Ki = "_noteTextMargin_42xt3_49", Yi = "_rangeW100_42xt3_63", Zi = "_zoomValue_42xt3_69", Xi = "_selectW100_42xt3_77", Qi = "_inputW70_42xt3_83", Ji = "_masterVolGroup_42xt3_93", es = "_rangeW140_42xt3_99", ts = "_volumeValue_42xt3_105", ns = "_selectW140_42xt3_115", rs = "_freqGroup_42xt3_121", as = "_freqValue_42xt3_127", os = "_narrowGroup_42xt3_137", is = "_rangeW120_42xt3_143", ss = "_smallValue_42xt3_149", ls = "_presetDivider_42xt3_159", cs = "_presetLabel_42xt3_165", ds = "_presetBtn_42xt3_175", us = "_deletePresetSelect_42xt3_183", hs = "_presetNameInput_42xt3_191", ps = "_savePresetBtn_42xt3_199", fs = "_countInAlert_42xt3_211", ms = "_inputW80_42xt3_219", gs = "_levelLabel_42xt3_225", ys = "_levelMeter_42xt3_233", bs = "_levelBar_42xt3_249", be = {
2092
2131
  panelNarrow: Vi,
2093
2132
  panelWide: Ui,
2094
2133
  smallLabel: qi,
@@ -2570,7 +2609,7 @@ const Eh = ({
2570
2609
  className: be.levelBar,
2571
2610
  style: {
2572
2611
  width: `${Math.min(1, u * 2) * 100}%`,
2573
- background: u > 0.7 ? "#f44336" : "#4caf50"
2612
+ background: u > 0.7 ? "var(--nice-danger, #f44336)" : "var(--nice-success, #4caf50)"
2574
2613
  }
2575
2614
  }
2576
2615
  ) })
@@ -3368,8 +3407,8 @@ const Kt = (e, t) => t && t > 0 ? e * 15 / t : e / 10, Ur = (e) => {
3368
3407
  function Cr(e, t, ...n) {
3369
3408
  (Rs || typeof window < "u" && window.DEBUG_KARAOKE) && console.log(
3370
3409
  `%c[KARAOKE-DEBUG]%c [${e}] ${t}`,
3371
- "background:#6c3483;color:#fff;padding:1px 4px;border-radius:3px;font-weight:bold",
3372
- "color:#6c3483;font-weight:bold",
3410
+ "background:var(--nice-accent-dark, #6c3483);color:var(--nice-bg, #FFF);padding: var(--nice-space-px, 1px) var(--nice-space-1, 4px);border-radius:var(--nice-radius-sm, 3px);font-weight:bold",
3411
+ "color:var(--nice-accent-dark, #6c3483);font-weight:bold",
3373
3412
  ...n
3374
3413
  );
3375
3414
  }
@@ -4150,7 +4189,7 @@ ${P}
4150
4189
  ${H}
4151
4190
  <linearGradient id="${y}b" x1="0" y1="0" x2="0" y2="${n}" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="rgba(255,255,255,.55)"/><stop offset=".3" stop-color="rgba(255,255,255,.35)"/><stop offset="1" stop-color="rgba(255,255,255,.08)"/></linearGradient>
4152
4191
  <linearGradient id="${y}f" x1="0" y1="${L}" x2="0" y2="${j}" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="${T}"/><stop offset=".5" stop-color="${E}"/><stop offset="1" stop-color="${C}"/></linearGradient>
4153
- <linearGradient id="${y}h" x1="0" y1="${L}" x2="0" y2="${Q}" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity="${U}"/><stop offset=".5" stop-color="#fff" stop-opacity="${U * 0.25}"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient>
4192
+ <linearGradient id="${y}h" x1="0" y1="${L}" x2="0" y2="${Q}" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="var(--nice-bg, #fff)" stop-opacity="${U}"/><stop offset=".5" stop-color="var(--nice-bg, #fff)" stop-opacity="${U * 0.25}"/><stop offset="1" stop-color="var(--nice-bg, #fff)" stop-opacity="0"/></linearGradient>
4154
4193
  <linearGradient id="${y}g" x1="0" y1="${z}" x2="0" y2="${j}" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="${_}" stop-opacity="0"/><stop offset=".6" stop-color="${_}" stop-opacity="${$ * 0.6}"/><stop offset="1" stop-color="${_}" stop-opacity="${$}"/></linearGradient>
4155
4194
  <clipPath id="${y}c"><path d="${w}"/><path d="${A}"/><path d="${R}"/></clipPath>
4156
4195
  </defs>
@@ -4226,7 +4265,7 @@ function In(e, t, n, r, a, o, i, s = 70, l = 55, c = 0, u, h, f = !1, m, p) {
4226
4265
  const T = `hsl(${b},${Math.min(x + 10, 100)}%,${Math.max(y - 22, 4)}%)`, _ = `hsl(${b},${x}%,${y}%)`, N = `hsl(${b},${Math.max(x - 12, 0)}%,${Math.min(y + 18, 88)}%)`, q = `hsl(${b},${Math.min(x + 20, 100)}%,${Math.min(y + 30, 93)}%)`, U = s / 100 * 0.78, $ = l / 100 * 0.65, D = 1 - c / 100 * 0.87, L = je, j = a - je, Q = j - L, z = L + Q * 0.44, J = L + Q * 0.58;
4227
4266
  e.save(), e.translate(t, n);
4228
4267
  const K = e.createLinearGradient(0, 0, 0, a);
4229
- K.addColorStop(0, "rgba(255,255,255,0.55)"), K.addColorStop(0.3, "rgba(255,255,255,0.35)"), K.addColorStop(1, "rgba(255,255,255,0.08)"), e.fillStyle = K, e.beginPath(), Xe(e, S.out), e.fill(), e.fillRect(C, 0, k, a), e.beginPath(), Xe(e, ot(g.out, E)), e.fill();
4268
+ K.addColorStop(0, "rgba(255,255,255,0.55)"), K.addColorStop(0.3, "rgba(255,255,255,0.35)"), K.addColorStop(1, "var(--nice-overlay-light-8, rgba(255, 255, 255, 0.08))"), e.fillStyle = K, e.beginPath(), Xe(e, S.out), e.fill(), e.fillRect(C, 0, k, a), e.beginPath(), Xe(e, ot(g.out, E)), e.fill();
4230
4269
  const oe = e.createLinearGradient(0, L, 0, j);
4231
4270
  oe.addColorStop(0, N), oe.addColorStop(0.5, _), oe.addColorStop(1, T), e.globalAlpha = D, e.fillStyle = oe, e.beginPath(), Xe(e, S.inn), e.fill(), e.fillRect(C, je, k, a - 2 * je), e.beginPath(), Xe(e, ot(g.inn, E)), e.fill(), e.globalAlpha = 1, m && (e.save(), e.beginPath(), Xe(e, S.inn), e.rect(C, je, k, a - 2 * je), Xe(e, ot(g.inn, E)), e.clip(), e.globalAlpha = D * 0.9, e.fillStyle = m, e.fillRect(0, 0, r, a), e.globalAlpha = 1, e.restore()), p && (e.save(), e.beginPath(), Xe(e, S.inn), e.rect(C, je, k, a - 2 * je), Xe(e, ot(g.inn, E)), e.clip(), e.globalAlpha = D * 0.85, e.fillStyle = p, e.fillRect(0, 0, r, a), e.globalAlpha = 1, e.restore()), e.save(), e.beginPath(), Xe(e, S.inn), e.rect(C, je, k, a - 2 * je), Xe(e, ot(g.inn, E)), e.clip();
4232
4271
  const W = e.createLinearGradient(0, J, 0, j);
@@ -4238,11 +4277,11 @@ function Js(e) {
4238
4277
  const { ctx: t, ballX: n, height: r, playerColor: a, currentTime: o } = e;
4239
4278
  t.save(), t.globalCompositeOperation = "source-over";
4240
4279
  const i = t.createLinearGradient(Math.max(0, n - 60), 0, n, 0);
4241
- i.addColorStop(0, "rgba(0,0,0,0)"), i.addColorStop(1, a), t.globalAlpha = 0.18, t.fillStyle = i, t.fillRect(Math.max(0, n - 60), 0, 60, r), t.globalAlpha = 0.9, t.strokeStyle = a, t.lineWidth = 3, t.shadowColor = a, t.shadowBlur = 12, t.beginPath(), t.moveTo(n, 0), t.lineTo(n, r), t.stroke();
4280
+ i.addColorStop(0, "transparent"), i.addColorStop(1, a), t.globalAlpha = 0.18, t.fillStyle = i, t.fillRect(Math.max(0, n - 60), 0, 60, r), t.globalAlpha = 0.9, t.strokeStyle = a, t.lineWidth = 3, t.shadowColor = a, t.shadowBlur = 12, t.beginPath(), t.moveTo(n, 0), t.lineTo(n, r), t.stroke();
4242
4281
  const s = 6 + Math.sin(o * 6) * 2;
4243
- t.fillStyle = e.ballIsGold ? "#FFD700" : a, t.beginPath(), t.moveTo(n, e.ballY - s), t.lineTo(n + s * 0.7, e.ballY), t.lineTo(n, e.ballY + s), t.lineTo(n - s * 0.7, e.ballY), t.closePath(), t.fill(), t.restore(), t.save(), t.globalCompositeOperation = "source-atop", t.globalAlpha = 0.35;
4282
+ t.fillStyle = e.ballIsGold ? "var(--nice-warning, #FFD700)" : a, t.beginPath(), t.moveTo(n, e.ballY - s), t.lineTo(n + s * 0.7, e.ballY), t.lineTo(n, e.ballY + s), t.lineTo(n - s * 0.7, e.ballY), t.closePath(), t.fill(), t.restore(), t.save(), t.globalCompositeOperation = "source-atop", t.globalAlpha = 0.35;
4244
4283
  for (const l of e.visibleNotes)
4245
- l.isSung && (t.fillStyle = l.isGold ? "#FFD700" : a, t.fillRect(l.x, l.y, l.w, l.h));
4284
+ l.isSung && (t.fillStyle = l.isGold ? "var(--nice-warning, #FFD700)" : a, t.fillRect(l.x, l.y, l.w, l.h));
4246
4285
  t.restore();
4247
4286
  }
4248
4287
  function el(e) {
@@ -4250,22 +4289,22 @@ function el(e) {
4250
4289
  t.save();
4251
4290
  for (let f = 0; f < l; f++) {
4252
4291
  const m = (u + f * 2.1) % (Math.PI * 2), p = Math.sin(m) * 0.5 + 0.5, b = c + p * a * 3, x = (1 - p) * 0.5;
4253
- t.globalAlpha = x, t.strokeStyle = i ? "#FFD700" : o, t.lineWidth = 2 - p, t.beginPath(), t.arc(n, r, b, 0, Math.PI * 2), t.stroke();
4292
+ t.globalAlpha = x, t.strokeStyle = i ? "var(--nice-warning, #FFD700)" : o, t.lineWidth = 2 - p, t.beginPath(), t.arc(n, r, b, 0, Math.PI * 2), t.stroke();
4254
4293
  }
4255
- t.globalAlpha = 0.8, t.shadowColor = i ? "#FFD700" : o, t.shadowBlur = 16 + Math.sin(s * 8) * 4, t.fillStyle = i ? "#FFF0A8" : o;
4294
+ t.globalAlpha = 0.8, t.shadowColor = i ? "var(--nice-warning, #FFD700)" : o, t.shadowBlur = 16 + Math.sin(s * 8) * 4, t.fillStyle = i ? "var(--nice-warning-bg, #fff0a8)" : o;
4256
4295
  const h = a * (0.8 + Math.sin(s * 10) * 0.2);
4257
4296
  t.beginPath(), t.arc(n, r, h, 0, Math.PI * 2), t.fill();
4258
4297
  for (const f of e.visibleNotes) {
4259
4298
  if (!f.isSung)
4260
4299
  continue;
4261
4300
  const m = (s * 6 + f.x * 0.01) % (Math.PI * 2), p = 0.15 + Math.sin(m) * 0.1;
4262
- t.globalAlpha = p, t.fillStyle = f.isGold ? "#FFD700" : o, t.fillRect(f.x, f.y, f.w, f.h);
4301
+ t.globalAlpha = p, t.fillStyle = f.isGold ? "var(--nice-warning, #FFD700)" : o, t.fillRect(f.x, f.y, f.w, f.h);
4263
4302
  }
4264
4303
  t.restore();
4265
4304
  }
4266
4305
  function tl(e) {
4267
4306
  const { ctx: t, ballX: n, ballY: r, ballRadius: a, playerColor: o, ballIsGold: i, currentTime: s } = e, l = 20 + Math.abs(Math.sin(s * 3)) * 15, c = s * 5 % (Math.PI * 2), u = -Math.abs(Math.sin(c)) * l, h = r + u;
4268
- t.save(), t.globalAlpha = 0.3, t.fillStyle = "rgba(0,0,0,0.5)";
4307
+ t.save(), t.globalAlpha = 0.3, t.fillStyle = "var(--nice-overlay-50, rgba(0, 0, 0, 0.5))";
4269
4308
  const f = 1 - Math.abs(u) / (l + 20);
4270
4309
  t.beginPath(), t.ellipse(
4271
4310
  n,
@@ -4283,8 +4322,8 @@ function tl(e) {
4283
4322
  }
4284
4323
  t.restore(), t.save();
4285
4324
  const p = 1 + Math.abs(Math.sin(c)) * 0.15, b = 1 / p;
4286
- if (t.translate(n, h), t.scale(b, p), t.shadowColor = i ? "#FFD700" : o, t.shadowBlur = 12, t.fillStyle = i ? "#FFF0A8" : o, t.beginPath(), t.arc(0, 0, a, 0, Math.PI * 2), t.fill(), t.lineWidth = 1.5, t.strokeStyle = "rgba(0,0,0,0.35)", t.stroke(), t.restore(), Math.abs(Math.sin(c)) < 0.1) {
4287
- t.save(), t.globalAlpha = 0.6, t.fillStyle = i ? "#FFD700" : o;
4325
+ if (t.translate(n, h), t.scale(b, p), t.shadowColor = i ? "var(--nice-warning, #FFD700)" : o, t.shadowBlur = 12, t.fillStyle = i ? "var(--nice-warning-bg, #fff0a8)" : o, t.beginPath(), t.arc(0, 0, a, 0, Math.PI * 2), t.fill(), t.lineWidth = 1.5, t.strokeStyle = "var(--nice-overlay-35, rgba(0, 0, 0, 0.35))", t.stroke(), t.restore(), Math.abs(Math.sin(c)) < 0.1) {
4326
+ t.save(), t.globalAlpha = 0.6, t.fillStyle = i ? "var(--nice-warning, #FFD700)" : o;
4288
4327
  for (let x = 0; x < 4; x++) {
4289
4328
  const y = x / 4 * Math.PI * 2 + s, S = n + Math.cos(y) * (a + 4), g = r + Math.sin(y) * 2;
4290
4329
  t.beginPath(), t.arc(S, g, 2, 0, Math.PI * 2), t.fill();
@@ -4312,7 +4351,7 @@ const rl = 1e3, al = 20, ol = 70, il = 5, ga = 26, ya = "rgba(255,215,70,0.98)",
4312
4351
  <radialGradient id='g${o}' cx='50%' cy='40%' r='60%'>
4313
4352
  <stop offset='0%' stop-color='hsl(${e} ${t}% ${n}%)' stop-opacity='1'/>
4314
4353
  <stop offset='60%' stop-color='hsl(${e} ${Math.max(10, t - 30)}% ${Math.min(90, n + 10)}%)' stop-opacity='0.9'/>
4315
- <stop offset='100%' stop-color='rgba(0,0,0,0)' stop-opacity='0'/>
4354
+ <stop offset='100%' stop-color='transparent' stop-opacity='0'/>
4316
4355
  </radialGradient>
4317
4356
  </defs>
4318
4357
  <g transform='translate(${r / 2}, ${r / 2})'>
@@ -4350,7 +4389,7 @@ function En(e) {
4350
4389
  const t = $r(e), [n, r, a] = Ds(t), o = (i) => i.toString(16).padStart(2, "0");
4351
4390
  return `#${o(n)}${o(r)}${o(a)}`.toLowerCase();
4352
4391
  } catch {
4353
- return "#ffcc00";
4392
+ return "var(--nice-warning, #ffcc00)";
4354
4393
  }
4355
4394
  }
4356
4395
  function ul(e, t, n, r, a, o) {
@@ -4433,22 +4472,22 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
4433
4472
  const _ = T ?? null, N = (_ == null ? void 0 : _.filledBar) ?? tn, q = (_ == null ? void 0 : _.emptyBar) ?? qr, U = (_ == null ? void 0 : _.goldFilledBar) ?? jr, $ = (_ == null ? void 0 : _.goldEmptyBar) ?? Hr, D = (_ == null ? void 0 : _.font) ?? Kr, L = An(N.capStyleName), j = An(q.capStyleName), Q = An(U.capStyleName), z = An($.capStyleName), J = N.patternName ? Nn(N.patternName) : null, K = q.patternName ? Nn(q.patternName) : null, oe = U.patternName ? Nn(U.patternName) : null, W = $.patternName ? Nn($.patternName) : null, B = J ? Dn(
4434
4473
  e,
4435
4474
  J,
4436
- N.patternColor ?? N.color ?? "#ffffff",
4475
+ N.patternColor ?? N.color ?? "var(--nice-bg, #fff)",
4437
4476
  N.patternColor
4438
4477
  ) : null, w = K ? Dn(
4439
4478
  e,
4440
4479
  K,
4441
- q.patternColor ?? q.color ?? "#d1d5db",
4480
+ q.patternColor ?? q.color ?? "var(--nice-border, #d1d5db)",
4442
4481
  q.patternColor
4443
4482
  ) : null, A = oe ? Dn(
4444
4483
  e,
4445
4484
  oe,
4446
- U.patternColor ?? "#FFD700",
4485
+ U.patternColor ?? "var(--nice-warning, #FFD700)",
4447
4486
  U.patternColor
4448
4487
  ) : null, R = W ? Dn(
4449
4488
  e,
4450
4489
  W,
4451
- $.patternColor ?? "#FFD700",
4490
+ $.patternColor ?? "var(--nice-warning, #FFD700)",
4452
4491
  $.patternColor
4453
4492
  ) : null;
4454
4493
  wa !== o && (wa = o, Cr(
@@ -4465,7 +4504,7 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
4465
4504
  goldEmptyOverlay: !!R
4466
4505
  }
4467
4506
  ));
4468
- const P = N.textureUrl ? Ln(e, N.textureUrl, N.textureScale) : null, M = q.textureUrl ? Ln(e, q.textureUrl, q.textureScale) : null, I = U.textureUrl ? Ln(e, U.textureUrl, U.textureScale) : null, F = $.textureUrl ? Ln(e, $.textureUrl, $.textureScale) : null, H = typeof document < "u" ? $r(s || "var(--accent-primary, #ffcc00)") : s || "var(--accent-primary, #ffcc00)", te = En(H || "#ffcc00"), ne = (de) => $r(de), se = D.fontFamily || "Arial", ie = D.fontSize || 18, re = ne(D.fontColor || "var(--btn-text, #fff)"), O = D.outlineColor ? ne(D.outlineColor) : null, Y = typeof D.outlineWidth == "number" ? D.outlineWidth : 0, le = D.shadow || null;
4507
+ const P = N.textureUrl ? Ln(e, N.textureUrl, N.textureScale) : null, M = q.textureUrl ? Ln(e, q.textureUrl, q.textureScale) : null, I = U.textureUrl ? Ln(e, U.textureUrl, U.textureScale) : null, F = $.textureUrl ? Ln(e, $.textureUrl, $.textureScale) : null, H = typeof document < "u" ? $r(s || "var(--accent-primary, #ffcc00)") : s || "var(--accent-primary, #ffcc00)", te = En(H || "var(--nice-warning, #ffcc00)"), ne = (de) => $r(de), se = D.fontFamily || "Arial", ie = D.fontSize || 18, re = ne(D.fontColor || "var(--btn-text, #fff)"), O = D.outlineColor ? ne(D.outlineColor) : null, Y = typeof D.outlineWidth == "number" ? D.outlineWidth : 0, le = D.shadow || null;
4469
4508
  typeof document < "u" && ((!bt || bt.width !== t || bt.height !== n) && (bt = document.createElement("canvas"), bt.width = t, bt.height = n, Je = bt.getContext("2d")), Je && Je.clearRect(0, 0, t, n), (!ct || ct.width !== t || ct.height !== n) && (ct = document.createElement("canvas"), ct.width = t, ct.height = n, Tt = ct.getContext("2d")), Tt && Tt.clearRect(0, 0, t, n), (!pt || pt.width !== t || pt.height !== n) && (pt = document.createElement("canvas"), pt.width = t, pt.height = n, Oe = pt.getContext("2d")), Oe && Oe.clearRect(0, 0, t, n));
4470
4509
  const he = S ? -S : 0, ye = g || t;
4471
4510
  e.fillStyle = H, e.font = `bold ${ie}px ${se}`;
@@ -4515,7 +4554,7 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
4515
4554
  };
4516
4555
  e.save(), e.globalAlpha = Me, e.font = `bold ${Math.round(ie * 1.2)}px ${se}`;
4517
4556
  const xe = de.label, Re = e.measureText(xe).width, Ie = he + ye / 2 - Re / 2;
4518
- e.fillStyle = ve[xe] || re, e.shadowColor = "rgba(0,0,0,0.5)", e.shadowBlur = 6, e.fillText(xe, Ie, 58), O && Y > 0 && (e.lineWidth = Y, e.strokeStyle = O, e.strokeText(xe, Ie, 58)), e.restore();
4557
+ e.fillStyle = ve[xe] || re, e.shadowColor = "var(--nice-overlay-50, rgba(0, 0, 0, 0.5))", e.shadowBlur = 6, e.fillText(xe, Ie, 58), O && Y > 0 && (e.lineWidth = Y, e.strokeStyle = O, e.strokeText(xe, Ie, 58)), e.restore();
4519
4558
  }
4520
4559
  }
4521
4560
  }
@@ -4617,7 +4656,7 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
4617
4656
  At,
4618
4657
  $e,
4619
4658
  Q,
4620
- U.color ?? "#FFD700",
4659
+ U.color ?? "var(--nice-warning, #FFD700)",
4621
4660
  U.highlight,
4622
4661
  U.glow,
4623
4662
  U.glass,
@@ -4667,7 +4706,7 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
4667
4706
  );
4668
4707
  }), de.restore());
4669
4708
  }
4670
- Tt && (Tt.fillStyle = "#ffffff", Tt.fillRect(Pe, Ue, Ee, $e));
4709
+ Tt && (Tt.fillStyle = "var(--nice-bg, #fff)", Tt.fillRect(Pe, Ue, Ee, $e));
4671
4710
  });
4672
4711
  };
4673
4712
  if (r.forEach((de) => {
@@ -4713,7 +4752,7 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
4713
4752
  })) {
4714
4753
  bt && e.drawImage(bt, 0, 0), pt && e.drawImage(pt, 0, 0), e.save(), e.globalCompositeOperation = "source-over", e.globalAlpha = 0.28;
4715
4754
  const de = Math.max(18, pe * 5), ge = e.createRadialGradient(nt, Ye, 0, nt, Ye, de);
4716
- if (ge.addColorStop(0, gt), ge.addColorStop(1, "rgba(0,0,0,0)"), e.fillStyle = ge, e.beginPath(), e.arc(nt, Ye, de, 0, Math.PI * 2), e.fill(), e.restore(), m && Je && ct && (Je.save(), Je.globalCompositeOperation = "source-over", Je.globalAlpha = 0.95, Je.fillStyle = gt, Je.beginPath(), Je.arc(nt, Ye, pe + 4, 0, Math.PI * 2), Je.fill(), Je.restore(), Je.save(), Je.globalCompositeOperation = "destination-in", Je.drawImage(ct, 0, 0), Je.restore(), e.drawImage(bt, 0, 0)), m && Oe && ct)
4755
+ if (ge.addColorStop(0, gt), ge.addColorStop(1, "transparent"), e.fillStyle = ge, e.beginPath(), e.arc(nt, Ye, de, 0, Math.PI * 2), e.fill(), e.restore(), m && Je && ct && (Je.save(), Je.globalCompositeOperation = "source-over", Je.globalAlpha = 0.95, Je.fillStyle = gt, Je.beginPath(), Je.arc(nt, Ye, pe + 4, 0, Math.PI * 2), Je.fill(), Je.restore(), Je.save(), Je.globalCompositeOperation = "destination-in", Je.drawImage(ct, 0, 0), Je.restore(), e.drawImage(bt, 0, 0)), m && Oe && ct)
4717
4756
  try {
4718
4757
  const ve = En(gt), { h: xe, s: Re, l: Ie } = cl(ve), Se = dl(xe, Math.max(10, Math.round(Re * (typeof u == "number" ? u : 0.25))), Ie, 0.85);
4719
4758
  Oe.save(), Oe.globalCompositeOperation = "multiply", Oe.globalAlpha = 0.65, Oe.fillStyle = Se, Oe.beginPath(), Oe.arc(nt, Ye, Math.max(8, pe + 6), 0, Math.PI * 2), Oe.fill(), Oe.restore(), Oe.save(), Oe.globalCompositeOperation = "destination-out", Oe.drawImage(ct, 0, 0), Oe.restore(), e.drawImage(pt, 0, 0);
@@ -4971,7 +5010,7 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
4971
5010
  overflow: "hidden"
4972
5011
  },
4973
5012
  children: [
4974
- /* @__PURE__ */ d("style", { children: "@keyframes av-latency-pulse {0% { transform: scale(1); box-shadow: 0 4px 10px rgba(0,0,0,0.2);} 50% { transform: scale(1.08); box-shadow: 0 8px 18px rgba(0,0,0,0.32);} 100% { transform: scale(1); box-shadow: 0 4px 10px rgba(0,0,0,0.2);} } .av-latency-pulse { animation: av-latency-pulse 1s ease-in-out infinite; }" }),
5013
+ /* @__PURE__ */ d("style", { children: "@keyframes av-latency-pulse {0% { transform: scale(1); box-shadow: 0 4px 10px var(--nice-overlay-20, rgba(0, 0, 0, 0.2));} 50% { transform: scale(1.08); box-shadow: 0 8px 18px rgba(0,0,0,0.32);} 100% { transform: scale(1); box-shadow: 0 4px 10px var(--nice-overlay-20, rgba(0, 0, 0, 0.2));} } .av-latency-pulse { animation: av-latency-pulse 1s ease-in-out infinite; }" }),
4975
5014
  /* @__PURE__ */ d(
4976
5015
  "div",
4977
5016
  {
@@ -4997,7 +5036,7 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
4997
5036
  background: F,
4998
5037
  padding: "6px 10px",
4999
5038
  borderRadius: 12,
5000
- boxShadow: "0 4px 10px rgba(0,0,0,0.35)",
5039
+ boxShadow: "0 4px 10px var(--nice-overlay-35, rgba(0, 0, 0, 0.35))",
5001
5040
  fontWeight: 700,
5002
5041
  minWidth: 56,
5003
5042
  textAlign: "center",
@@ -5018,7 +5057,7 @@ const Sa = (e, t, n, r, a, o, i, s, l, c, u, h, f, m, p, b, x, y, S, g, k, C, E,
5018
5057
  background: "var(--latency-none-bg, rgba(75,85,99,0.9))",
5019
5058
  padding: "6px 8px",
5020
5059
  borderRadius: 12,
5021
- boxShadow: "0 4px 10px rgba(0,0,0,0.35)",
5060
+ boxShadow: "0 4px 10px var(--nice-overlay-35, rgba(0, 0, 0, 0.35))",
5022
5061
  minWidth: 44,
5023
5062
  textAlign: "center"
5024
5063
  },
@@ -5097,8 +5136,8 @@ function sp(e) {
5097
5136
  return pl.find((t) => t.url === e);
5098
5137
  }
5099
5138
  const fl = {
5100
- color: "#2196f3",
5101
- highlight: "#ffffff",
5139
+ color: "var(--nice-primary, #2196f3)",
5140
+ highlight: "var(--nice-bg, #fff)",
5102
5141
  glow: 0,
5103
5142
  capStyle: "flat",
5104
5143
  pattern: null,
@@ -5107,15 +5146,15 @@ const fl = {
5107
5146
  fill: e = fl,
5108
5147
  onChange: t = () => {
5109
5148
  },
5110
- previewColor: n = "#2196f3",
5111
- accentColor: r = "#0d6efd",
5149
+ previewColor: n = "var(--nice-primary, #2196f3)",
5150
+ accentColor: r = "var(--nice-primary, #0d6efd)",
5112
5151
  width: a,
5113
5152
  height: o
5114
5153
  }) => {
5115
5154
  const { t: i } = ke(), [s, l] = Z(null), c = (y, S) => {
5116
5155
  t({ ...e, [y]: S });
5117
5156
  }, u = Be(() => {
5118
- const y = e.color || n || "#2196f3";
5157
+ const y = e.color || n || "var(--nice-primary, #2196f3)";
5119
5158
  return (S, g, k) => {
5120
5159
  const C = Yn.find((T) => T.name === S) || Yn[0], E = g ? Nr.find((T) => T.name === g) ?? null : null;
5121
5160
  return Qs({
@@ -5133,7 +5172,7 @@ const fl = {
5133
5172
  textureScale: e.textureScale
5134
5173
  });
5135
5174
  };
5136
- }, [e, n]), h = `2px solid ${r}`, f = r === "#d4a017" ? "#fff8e1" : "#e7f1ff", m = X(null), p = X(null), b = G((y, S) => {
5175
+ }, [e, n]), h = `2px solid ${r}`, f = r === "var(--nice-warning-dark, #d4a017)" ? "var(--nice-warning-bg, #fff8e1)" : "#e7f1ff", m = X(null), p = X(null), b = G((y, S) => {
5137
5176
  y.current && y.current.scrollBy({ left: S * 180, behavior: "smooth" });
5138
5177
  }, []), x = {
5139
5178
  position: "absolute",
@@ -5148,12 +5187,12 @@ const fl = {
5148
5187
  justifyContent: "center",
5149
5188
  fontSize: 18,
5150
5189
  fontWeight: 700,
5151
- color: "#ccc",
5152
- background: "linear-gradient(90deg, rgba(30,30,30,0.9) 60%, transparent)"
5190
+ color: "var(--nice-border, #ccc)",
5191
+ background: "linear-gradient(90deg, var(--nice-overlay-90, rgba(30, 30, 30, 0.9)) 60%, transparent)"
5153
5192
  };
5154
5193
  return /* @__PURE__ */ v("div", { style: { padding: "4px 0" }, children: [
5155
5194
  /* @__PURE__ */ v("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 8 }, children: [
5156
- /* @__PURE__ */ d(Qe.Label, { className: "mb-0", style: { fontSize: 13, color: "#ccc" }, children: i("playerForm.barColor", "Color") }),
5195
+ /* @__PURE__ */ d(Qe.Label, { className: "mb-0", style: { fontSize: 13, color: "var(--nice-border, #ccc)" }, children: i("playerForm.barColor", "Color") }),
5157
5196
  /* @__PURE__ */ d(
5158
5197
  Qe.Check,
5159
5198
  {
@@ -5161,7 +5200,7 @@ const fl = {
5161
5200
  id: `bar-color-auto-${r}`,
5162
5201
  label: i("playerForm.auto", "Auto"),
5163
5202
  checked: !e.color,
5164
- onChange: (y) => c("color", y.target.checked ? null : n || "#2196f3"),
5203
+ onChange: (y) => c("color", y.target.checked ? null : n || "var(--nice-primary, #2196f3)"),
5165
5204
  className: "mb-0"
5166
5205
  }
5167
5206
  ),
@@ -5175,7 +5214,7 @@ const fl = {
5175
5214
  }
5176
5215
  )
5177
5216
  ] }),
5178
- /* @__PURE__ */ d(Qe.Label, { style: { fontSize: 13, color: "#ccc" }, children: i("playerForm.capShape", "Cap shape") }),
5217
+ /* @__PURE__ */ d(Qe.Label, { style: { fontSize: 13, color: "var(--nice-border, #ccc)" }, children: i("playerForm.capShape", "Cap shape") }),
5179
5218
  /* @__PURE__ */ v("div", { style: { position: "relative", marginBottom: 10 }, children: [
5180
5219
  /* @__PURE__ */ d(
5181
5220
  "button",
@@ -5195,7 +5234,7 @@ const fl = {
5195
5234
  left: "auto",
5196
5235
  right: 0,
5197
5236
  borderRadius: "0 6px 6px 0",
5198
- background: "linear-gradient(270deg, rgba(30,30,30,0.9) 60%, transparent)"
5237
+ background: "linear-gradient(270deg, var(--nice-overlay-90, rgba(30, 30, 30, 0.9)) 60%, transparent)"
5199
5238
  },
5200
5239
  onClick: () => b(m, 1),
5201
5240
  children: "�"
@@ -5223,10 +5262,10 @@ const fl = {
5223
5262
  style: {
5224
5263
  cursor: "pointer",
5225
5264
  flexShrink: 0,
5226
- border: S ? h : "1px solid #555",
5265
+ border: S ? h : "1px solid var(--nice-text-secondary, #555)",
5227
5266
  borderRadius: 6,
5228
5267
  padding: 3,
5229
- background: S ? f : "#222"
5268
+ background: S ? f : "var(--nice-text, #222)"
5230
5269
  },
5231
5270
  dangerouslySetInnerHTML: { __html: u(y.name, null) }
5232
5271
  },
@@ -5236,7 +5275,7 @@ const fl = {
5236
5275
  }
5237
5276
  )
5238
5277
  ] }),
5239
- /* @__PURE__ */ d(Qe.Label, { style: { fontSize: 13, color: "#ccc" }, children: i("playerForm.pattern", "Pattern") }),
5278
+ /* @__PURE__ */ d(Qe.Label, { style: { fontSize: 13, color: "var(--nice-border, #ccc)" }, children: i("playerForm.pattern", "Pattern") }),
5240
5279
  /* @__PURE__ */ v("div", { style: { position: "relative", marginBottom: 10 }, children: [
5241
5280
  /* @__PURE__ */ d(
5242
5281
  "button",
@@ -5256,7 +5295,7 @@ const fl = {
5256
5295
  left: "auto",
5257
5296
  right: 0,
5258
5297
  borderRadius: "0 6px 6px 0",
5259
- background: "linear-gradient(270deg, rgba(30,30,30,0.9) 60%, transparent)"
5298
+ background: "linear-gradient(270deg, var(--nice-overlay-90, rgba(30, 30, 30, 0.9)) 60%, transparent)"
5260
5299
  },
5261
5300
  onClick: () => b(p, 1),
5262
5301
  children: "�"
@@ -5283,13 +5322,13 @@ const fl = {
5283
5322
  style: {
5284
5323
  cursor: "pointer",
5285
5324
  flexShrink: 0,
5286
- border: e.patternName ? "1px solid #555" : h,
5325
+ border: e.patternName ? "1px solid var(--nice-text-secondary, #555)" : h,
5287
5326
  borderRadius: 6,
5288
5327
  padding: "3px 8px",
5289
- background: e.patternName ? "#222" : f,
5328
+ background: e.patternName ? "var(--nice-text, #222)" : f,
5290
5329
  fontSize: 12,
5291
5330
  lineHeight: "22px",
5292
- color: "#ccc"
5331
+ color: "var(--nice-border, #ccc)"
5293
5332
  },
5294
5333
  children: "�"
5295
5334
  }
@@ -5304,10 +5343,10 @@ const fl = {
5304
5343
  style: {
5305
5344
  cursor: "pointer",
5306
5345
  flexShrink: 0,
5307
- border: S ? h : "1px solid #555",
5346
+ border: S ? h : "1px solid var(--nice-text-secondary, #555)",
5308
5347
  borderRadius: 6,
5309
5348
  padding: 3,
5310
- background: S ? f : "#222"
5349
+ background: S ? f : "var(--nice-text, #222)"
5311
5350
  },
5312
5351
  dangerouslySetInnerHTML: { __html: u(e.capStyleName, y.name) }
5313
5352
  },
@@ -5330,7 +5369,7 @@ const fl = {
5330
5369
  }
5331
5370
  ),
5332
5371
  /* @__PURE__ */ v("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 10 }, children: [
5333
- /* @__PURE__ */ d(Qe.Label, { className: "mb-0", style: { fontSize: 13, color: "#ccc" }, children: i("playerForm.patternColor", "Pattern color") }),
5372
+ /* @__PURE__ */ d(Qe.Label, { className: "mb-0", style: { fontSize: 13, color: "var(--nice-border, #ccc)" }, children: i("playerForm.patternColor", "Pattern color") }),
5334
5373
  /* @__PURE__ */ d(
5335
5374
  Qe.Check,
5336
5375
  {
@@ -5338,7 +5377,7 @@ const fl = {
5338
5377
  id: `bar-pattern-color-auto-${r}`,
5339
5378
  label: i("playerForm.auto", "Auto"),
5340
5379
  checked: !e.patternColor,
5341
- onChange: (y) => c("patternColor", y.target.checked ? null : n || "#ffffff"),
5380
+ onChange: (y) => c("patternColor", y.target.checked ? null : n || "var(--nice-bg, #fff)"),
5342
5381
  className: "mb-0"
5343
5382
  }
5344
5383
  ),
@@ -5353,7 +5392,7 @@ const fl = {
5353
5392
  )
5354
5393
  ] }),
5355
5394
  !e.patternOnly && /* @__PURE__ */ v(Ke, { children: [
5356
- /* @__PURE__ */ v(Qe.Label, { style: { fontSize: 13, color: "#ccc" }, children: [
5395
+ /* @__PURE__ */ v(Qe.Label, { style: { fontSize: 13, color: "var(--nice-border, #ccc)" }, children: [
5357
5396
  i("playerForm.highlight", "Highlight"),
5358
5397
  ": ",
5359
5398
  e.highlight,
@@ -5369,7 +5408,7 @@ const fl = {
5369
5408
  className: "mb-2"
5370
5409
  }
5371
5410
  ),
5372
- /* @__PURE__ */ v(Qe.Label, { style: { fontSize: 13, color: "#ccc" }, children: [
5411
+ /* @__PURE__ */ v(Qe.Label, { style: { fontSize: 13, color: "var(--nice-border, #ccc)" }, children: [
5373
5412
  i("playerForm.glow", "Glow"),
5374
5413
  ": ",
5375
5414
  e.glow,
@@ -5386,7 +5425,7 @@ const fl = {
5386
5425
  }
5387
5426
  )
5388
5427
  ] }),
5389
- /* @__PURE__ */ v(Qe.Label, { style: { fontSize: 13, color: "#ccc" }, children: [
5428
+ /* @__PURE__ */ v(Qe.Label, { style: { fontSize: 13, color: "var(--nice-border, #ccc)" }, children: [
5390
5429
  i("playerForm.glass", "Transparency (glass)"),
5391
5430
  ": ",
5392
5431
  e.glass,
@@ -5402,7 +5441,13 @@ const fl = {
5402
5441
  className: "mb-2"
5403
5442
  }
5404
5443
  ),
5405
- /* @__PURE__ */ d(Qe.Label, { style: { fontSize: 13, fontWeight: 600, marginTop: 4, color: "#ccc" }, children: i("playerForm.texture", "Texture") }),
5444
+ /* @__PURE__ */ d(
5445
+ Qe.Label,
5446
+ {
5447
+ style: { fontSize: 13, fontWeight: 600, marginTop: 4, color: "var(--nice-border, #ccc)" },
5448
+ children: i("playerForm.texture", "Texture")
5449
+ }
5450
+ ),
5406
5451
  /* @__PURE__ */ v("div", { style: { marginBottom: 6 }, children: [
5407
5452
  /* @__PURE__ */ v("div", { style: { display: "flex", gap: 4, flexWrap: "wrap", marginBottom: 6 }, children: [
5408
5453
  /* @__PURE__ */ d(
@@ -5438,9 +5483,9 @@ const fl = {
5438
5483
  maxHeight: 130,
5439
5484
  overflowY: "auto",
5440
5485
  padding: 4,
5441
- border: "1px solid #dee2e6",
5486
+ border: "1px solid var(--nice-border, #dee2e6)",
5442
5487
  borderRadius: 6,
5443
- background: "#f8f9fa"
5488
+ background: "var(--nice-bg-secondary, #f8f9fa)"
5444
5489
  },
5445
5490
  children: s.entries.map((y) => {
5446
5491
  const S = e.textureUrl === y.url;
@@ -5454,7 +5499,7 @@ const fl = {
5454
5499
  height: 48,
5455
5500
  borderRadius: 6,
5456
5501
  cursor: "pointer",
5457
- border: S ? `3px solid ${r}` : "1px solid #bbb",
5502
+ border: S ? `3px solid ${r}` : "1px solid var(--nice-text-muted, #bbb)",
5458
5503
  backgroundImage: `url(${y.url})`,
5459
5504
  backgroundSize: "cover",
5460
5505
  boxShadow: S ? `0 0 6px ${r}` : void 0
@@ -5475,15 +5520,15 @@ const fl = {
5475
5520
  borderRadius: 6,
5476
5521
  backgroundImage: `url(${e.textureUrl})`,
5477
5522
  backgroundSize: `${Math.round(256 * e.textureScale)}px`,
5478
- border: "1px solid #aaa"
5523
+ border: "1px solid var(--nice-text-muted, #aaa)"
5479
5524
  }
5480
5525
  }
5481
5526
  ),
5482
- /* @__PURE__ */ d("span", { style: { fontSize: 11, color: "#666" }, children: e.textureUrl.split("/").pop() })
5527
+ /* @__PURE__ */ d("span", { style: { fontSize: 11, color: "var(--nice-text-secondary, #666)" }, children: e.textureUrl.split("/").pop() })
5483
5528
  ] })
5484
5529
  ] }),
5485
5530
  e.textureUrl && /* @__PURE__ */ v(Ke, { children: [
5486
- /* @__PURE__ */ v(Qe.Label, { style: { fontSize: 13, color: "#ccc" }, children: [
5531
+ /* @__PURE__ */ v(Qe.Label, { style: { fontSize: 13, color: "var(--nice-border, #ccc)" }, children: [
5487
5532
  i("playerForm.textureScale", "Texture scale"),
5488
5533
  ": ",
5489
5534
  e.textureScale.toFixed(1),
@@ -5896,205 +5941,227 @@ Attempted URLs: ${Array.isArray(B.attemptedUrls) ? B.attemptedUrls.join(", ") :
5896
5941
  et.error("generateScientificReport error", W), et.warn(o("audioPitch.reportError") + String(W));
5897
5942
  }
5898
5943
  }
5899
- return /* @__PURE__ */ v("div", { style: { marginTop: 32, padding: 16, border: "1px solid #ccc", borderRadius: 8 }, children: [
5900
- /* @__PURE__ */ d("h3", { children: o("audioPitch.title") }),
5901
- /* @__PURE__ */ v("div", { style: { marginBottom: 12 }, children: [
5902
- /* @__PURE__ */ d("label", { htmlFor: "pitch-algorithm-select", style: { marginRight: 8 }, children: o("audioPitch.algorithm") }),
5903
- /* @__PURE__ */ v(
5904
- "select",
5905
- {
5906
- id: "pitch-algorithm-select",
5907
- value: i,
5908
- onChange: (W) => s(W.target.value),
5909
- style: { marginRight: 16 },
5910
- children: [
5911
- /* @__PURE__ */ d("option", { value: "ultrastar-wp", children: "Ultrastar WP (autokorelacja)" }),
5912
- /* @__PURE__ */ d("option", { value: "crepe", children: "crepe (AI)" }),
5913
- /* @__PURE__ */ d("option", { value: "pitchy", children: "pitchy (YIN)" }),
5914
- /* @__PURE__ */ d("option", { value: "librosa", children: "Librosa (PYIN)" })
5915
- ]
5916
- }
5917
- ),
5918
- /* @__PURE__ */ v("label", { style: { marginRight: 8 }, children: [
5919
- /* @__PURE__ */ d(
5920
- "input",
5921
- {
5922
- type: "checkbox",
5923
- checked: u,
5924
- onChange: (W) => h(W.target.checked)
5925
- }
5926
- ),
5927
- " ",
5928
- o("audioPitch.compareAll")
5929
- ] }),
5930
- /* @__PURE__ */ d(
5931
- "input",
5932
- {
5933
- type: "file",
5934
- accept: "audio/*",
5935
- ref: $,
5936
- onChange: j,
5937
- disabled: k
5938
- }
5939
- )
5940
- ] }),
5941
- k && /* @__PURE__ */ d("div", { children: o("audioPitch.analyzing") }),
5942
- /* @__PURE__ */ v("div", { style: { marginTop: 8 }, children: [
5943
- /* @__PURE__ */ d("b", { children: o("audioPitch.method") }),
5944
- " ",
5945
- i
5946
- ] }),
5947
- E && /* @__PURE__ */ v("div", { style: { color: "red", marginTop: 8 }, children: [
5948
- /* @__PURE__ */ v("b", { children: [
5949
- i,
5950
- ": "
5951
- ] }),
5952
- /* @__PURE__ */ d("div", { children: E }),
5953
- q && /* @__PURE__ */ d(
5954
- "pre",
5955
- {
5956
- style: {
5957
- background: "#111",
5958
- color: "#f88",
5959
- padding: 8,
5960
- borderRadius: 4,
5961
- whiteSpace: "pre-wrap",
5962
- marginTop: 8
5963
- },
5964
- children: q
5965
- }
5966
- )
5967
- ] }),
5968
- _ && /* @__PURE__ */ v("div", { style: { marginTop: 12 }, children: [
5969
- /* @__PURE__ */ d("b", { children: "Aubio diagnostics" }),
5970
- /* @__PURE__ */ d(
5971
- "pre",
5972
- {
5973
- style: {
5974
- background: "#111",
5975
- color: "#f88",
5976
- padding: 8,
5977
- borderRadius: 4,
5978
- whiteSpace: "pre-wrap"
5979
- },
5980
- children: _
5981
- }
5982
- ),
5983
- N && /* @__PURE__ */ v("div", { style: { marginTop: 8 }, children: [
5984
- /* @__PURE__ */ d("b", { children: "Probe:" }),
5985
- " ",
5986
- N
5987
- ] })
5988
- ] }),
5989
- (Object.keys(f).length > 0 || Object.keys(p).length > 0) && /* @__PURE__ */ v("div", { style: { marginTop: 12 }, children: [
5990
- /* @__PURE__ */ d("button", { onClick: () => oe(), children: o("audioPitch.downloadReport") }),
5991
- Object.entries(p).length > 0 && /* @__PURE__ */ v("div", { style: { marginTop: 8 }, children: [
5992
- /* @__PURE__ */ d("b", { children: "Per-algorithm errors:" }),
5993
- Object.entries(p).filter(([W, B]) => B).map(([W, B]) => /* @__PURE__ */ v("div", { style: { marginTop: 6 }, children: [
5944
+ return /* @__PURE__ */ v(
5945
+ "div",
5946
+ {
5947
+ style: {
5948
+ marginTop: 32,
5949
+ padding: 16,
5950
+ border: "1px solid var(--nice-border, #ccc)",
5951
+ borderRadius: 8
5952
+ },
5953
+ children: [
5954
+ /* @__PURE__ */ d("h3", { children: o("audioPitch.title") }),
5955
+ /* @__PURE__ */ v("div", { style: { marginBottom: 12 }, children: [
5956
+ /* @__PURE__ */ d("label", { htmlFor: "pitch-algorithm-select", style: { marginRight: 8 }, children: o("audioPitch.algorithm") }),
5957
+ /* @__PURE__ */ v(
5958
+ "select",
5959
+ {
5960
+ id: "pitch-algorithm-select",
5961
+ value: i,
5962
+ onChange: (W) => s(W.target.value),
5963
+ style: { marginRight: 16 },
5964
+ children: [
5965
+ /* @__PURE__ */ d("option", { value: "ultrastar-wp", children: "Ultrastar WP (autokorelacja)" }),
5966
+ /* @__PURE__ */ d("option", { value: "crepe", children: "crepe (AI)" }),
5967
+ /* @__PURE__ */ d("option", { value: "pitchy", children: "pitchy (YIN)" }),
5968
+ /* @__PURE__ */ d("option", { value: "librosa", children: "Librosa (PYIN)" })
5969
+ ]
5970
+ }
5971
+ ),
5972
+ /* @__PURE__ */ v("label", { style: { marginRight: 8 }, children: [
5973
+ /* @__PURE__ */ d(
5974
+ "input",
5975
+ {
5976
+ type: "checkbox",
5977
+ checked: u,
5978
+ onChange: (W) => h(W.target.checked)
5979
+ }
5980
+ ),
5981
+ " ",
5982
+ o("audioPitch.compareAll")
5983
+ ] }),
5984
+ /* @__PURE__ */ d(
5985
+ "input",
5986
+ {
5987
+ type: "file",
5988
+ accept: "audio/*",
5989
+ ref: $,
5990
+ onChange: j,
5991
+ disabled: k
5992
+ }
5993
+ )
5994
+ ] }),
5995
+ k && /* @__PURE__ */ d("div", { children: o("audioPitch.analyzing") }),
5996
+ /* @__PURE__ */ v("div", { style: { marginTop: 8 }, children: [
5997
+ /* @__PURE__ */ d("b", { children: o("audioPitch.method") }),
5998
+ " ",
5999
+ i
6000
+ ] }),
6001
+ E && /* @__PURE__ */ v("div", { style: { color: "red", marginTop: 8 }, children: [
5994
6002
  /* @__PURE__ */ v("b", { children: [
5995
- W,
5996
- ":"
6003
+ i,
6004
+ ": "
5997
6005
  ] }),
6006
+ /* @__PURE__ */ d("div", { children: E }),
6007
+ q && /* @__PURE__ */ d(
6008
+ "pre",
6009
+ {
6010
+ style: {
6011
+ background: "var(--nice-text, #111)",
6012
+ color: "var(--nice-danger-light, #f88)",
6013
+ padding: 8,
6014
+ borderRadius: 4,
6015
+ whiteSpace: "pre-wrap",
6016
+ marginTop: 8
6017
+ },
6018
+ children: q
6019
+ }
6020
+ )
6021
+ ] }),
6022
+ _ && /* @__PURE__ */ v("div", { style: { marginTop: 12 }, children: [
6023
+ /* @__PURE__ */ d("b", { children: "Aubio diagnostics" }),
5998
6024
  /* @__PURE__ */ d(
5999
6025
  "pre",
6000
6026
  {
6001
6027
  style: {
6002
- background: "#111",
6003
- color: "#f88",
6028
+ background: "var(--nice-text, #111)",
6029
+ color: "var(--nice-danger-light, #f88)",
6004
6030
  padding: 8,
6005
6031
  borderRadius: 4,
6006
6032
  whiteSpace: "pre-wrap"
6007
6033
  },
6008
- children: B
6034
+ children: _
6009
6035
  }
6010
- )
6011
- ] }, W))
6012
- ] })
6013
- ] }),
6014
- S.length > 0 && /* @__PURE__ */ v("div", { style: { marginTop: 16 }, children: [
6015
- /* @__PURE__ */ d("b", { children: o("audioPitch.resultUltrastar") }),
6016
- /* @__PURE__ */ v("pre", { style: { background: "#222", color: "#fff", padding: 8, borderRadius: 4 }, children: [
6017
- S.map(
6018
- (W) => `: ${Math.round(W.start * 10)} ${Math.round(W.duration * 10)} ${W.pitch} [${W.freq.toFixed(1)} Hz]`
6019
- ).join(`
6036
+ ),
6037
+ N && /* @__PURE__ */ v("div", { style: { marginTop: 8 }, children: [
6038
+ /* @__PURE__ */ d("b", { children: "Probe:" }),
6039
+ " ",
6040
+ N
6041
+ ] })
6042
+ ] }),
6043
+ (Object.keys(f).length > 0 || Object.keys(p).length > 0) && /* @__PURE__ */ v("div", { style: { marginTop: 12 }, children: [
6044
+ /* @__PURE__ */ d("button", { onClick: () => oe(), children: o("audioPitch.downloadReport") }),
6045
+ Object.entries(p).length > 0 && /* @__PURE__ */ v("div", { style: { marginTop: 8 }, children: [
6046
+ /* @__PURE__ */ d("b", { children: "Per-algorithm errors:" }),
6047
+ Object.entries(p).filter(([W, B]) => B).map(([W, B]) => /* @__PURE__ */ v("div", { style: { marginTop: 6 }, children: [
6048
+ /* @__PURE__ */ v("b", { children: [
6049
+ W,
6050
+ ":"
6051
+ ] }),
6052
+ /* @__PURE__ */ d(
6053
+ "pre",
6054
+ {
6055
+ style: {
6056
+ background: "var(--nice-text, #111)",
6057
+ color: "var(--nice-danger-light, #f88)",
6058
+ padding: 8,
6059
+ borderRadius: 4,
6060
+ whiteSpace: "pre-wrap"
6061
+ },
6062
+ children: B
6063
+ }
6064
+ )
6065
+ ] }, W))
6066
+ ] })
6067
+ ] }),
6068
+ S.length > 0 && /* @__PURE__ */ v("div", { style: { marginTop: 16 }, children: [
6069
+ /* @__PURE__ */ d("b", { children: o("audioPitch.resultUltrastar") }),
6070
+ /* @__PURE__ */ v(
6071
+ "pre",
6072
+ {
6073
+ style: {
6074
+ background: "var(--nice-text, #222)",
6075
+ color: "var(--nice-bg, #fff)",
6076
+ padding: 8,
6077
+ borderRadius: 4
6078
+ },
6079
+ children: [
6080
+ S.map(
6081
+ (W) => `: ${Math.round(W.start * 10)} ${Math.round(W.duration * 10)} ${W.pitch} [${W.freq.toFixed(1)} Hz]`
6082
+ ).join(`
6020
6083
  `),
6021
- `
6084
+ `
6022
6085
  -`
6023
- ] })
6024
- ] }),
6025
- l && l.length > 0 && /* @__PURE__ */ v("div", { style: { marginTop: 24 }, children: [
6026
- /* @__PURE__ */ d("b", { children: o("audioPitch.waveformRms") }),
6027
- /* @__PURE__ */ d(
6028
- "canvas",
6029
- {
6030
- width: 600,
6031
- height: 100,
6032
- style: {
6033
- background: "#222",
6034
- borderRadius: 4,
6035
- width: "100%",
6036
- maxWidth: 600,
6037
- display: "block"
6038
- },
6039
- role: "img",
6040
- "aria-label": "Waveform and RMS visualization canvas",
6041
- ref: (W) => {
6042
- if (!W)
6043
- return;
6044
- const B = W.getContext("2d");
6045
- if (B) {
6046
- B.clearRect(0, 0, 600, 100), B.strokeStyle = "#0ff", B.beginPath();
6047
- for (let w = 0; w < l.length; w += Math.ceil(l.length / 600)) {
6048
- const A = w / l.length * 600, R = 50 - l[w] * 48;
6049
- w === 0 ? B.moveTo(A, R) : B.lineTo(A, R);
6050
- }
6051
- if (B.stroke(), x.length > 0) {
6052
- B.strokeStyle = "#ff0", B.beginPath();
6053
- for (let w = 0; w < x.length; w++) {
6054
- const A = w / x.length * 600, R = 100 - x[w] * 90;
6055
- w === 0 ? B.moveTo(A, R) : B.lineTo(A, R);
6086
+ ]
6087
+ }
6088
+ )
6089
+ ] }),
6090
+ l && l.length > 0 && /* @__PURE__ */ v("div", { style: { marginTop: 24 }, children: [
6091
+ /* @__PURE__ */ d("b", { children: o("audioPitch.waveformRms") }),
6092
+ /* @__PURE__ */ d(
6093
+ "canvas",
6094
+ {
6095
+ width: 600,
6096
+ height: 100,
6097
+ style: {
6098
+ background: "var(--nice-text, #222)",
6099
+ borderRadius: 4,
6100
+ width: "100%",
6101
+ maxWidth: 600,
6102
+ display: "block"
6103
+ },
6104
+ role: "img",
6105
+ "aria-label": "Waveform and RMS visualization canvas",
6106
+ ref: (W) => {
6107
+ if (!W)
6108
+ return;
6109
+ const B = W.getContext("2d");
6110
+ if (B) {
6111
+ B.clearRect(0, 0, 600, 100), B.strokeStyle = "var(--nice-info, #0ff)", B.beginPath();
6112
+ for (let w = 0; w < l.length; w += Math.ceil(l.length / 600)) {
6113
+ const A = w / l.length * 600, R = 50 - l[w] * 48;
6114
+ w === 0 ? B.moveTo(A, R) : B.lineTo(A, R);
6115
+ }
6116
+ if (B.stroke(), x.length > 0) {
6117
+ B.strokeStyle = "var(--nice-warning, #ff0)", B.beginPath();
6118
+ for (let w = 0; w < x.length; w++) {
6119
+ const A = w / x.length * 600, R = 100 - x[w] * 90;
6120
+ w === 0 ? B.moveTo(A, R) : B.lineTo(A, R);
6121
+ }
6122
+ B.stroke();
6123
+ }
6056
6124
  }
6057
- B.stroke();
6058
6125
  }
6059
6126
  }
6060
- }
6061
- }
6062
- ),
6063
- /* @__PURE__ */ v("div", { style: { color: "#aaa", fontSize: 12, marginTop: 4 }, children: [
6064
- /* @__PURE__ */ d("span", { style: { color: "#0ff" }, children: "Waveform" }),
6065
- "  | ",
6066
- " ",
6067
- /* @__PURE__ */ d("span", { style: { color: "#ff0" }, children: "RMS" })
6068
- ] })
6069
- ] }),
6070
- !k && S.length === 0 && !E && /* @__PURE__ */ d("div", { style: { marginTop: 16, color: "#aaa" }, children: /* @__PURE__ */ d("i", { children: o("audioPitch.noNotesDetected") }) }),
6071
- u && Object.keys(f).length > 0 && /* @__PURE__ */ v("div", { style: { marginTop: 16 }, children: [
6072
- /* @__PURE__ */ d("h4", { children: o("audioPitch.algorithmComparison") }),
6073
- Object.entries(f).map(([W, B]) => /* @__PURE__ */ v("div", { style: { marginBottom: 12 }, children: [
6074
- /* @__PURE__ */ d("b", { children: W }),
6075
- ": ",
6076
- o("audioPitch.detectedSegments"),
6077
- " ",
6078
- B.length,
6079
- /* @__PURE__ */ d(
6080
- "pre",
6081
- {
6082
- style: {
6083
- background: "#111",
6084
- color: "#ddd",
6085
- padding: 8,
6086
- borderRadius: 4,
6087
- marginTop: 8
6088
- },
6089
- children: B.map(
6090
- (w) => `: ${Math.round(w.start * 10)} ${Math.round(w.duration * 10)} ${w.pitch} [${w.freq.toFixed(1)} Hz]`
6091
- ).join(`
6127
+ ),
6128
+ /* @__PURE__ */ v("div", { style: { color: "var(--nice-text-muted, #aaa)", fontSize: 12, marginTop: 4 }, children: [
6129
+ /* @__PURE__ */ d("span", { style: { color: "var(--nice-info, #0ff)" }, children: "Waveform" }),
6130
+ "  | ",
6131
+ " ",
6132
+ /* @__PURE__ */ d("span", { style: { color: "var(--nice-warning, #ff0)" }, children: "RMS" })
6133
+ ] })
6134
+ ] }),
6135
+ !k && S.length === 0 && !E && /* @__PURE__ */ d("div", { style: { marginTop: 16, color: "var(--nice-text-muted, #aaa)" }, children: /* @__PURE__ */ d("i", { children: o("audioPitch.noNotesDetected") }) }),
6136
+ u && Object.keys(f).length > 0 && /* @__PURE__ */ v("div", { style: { marginTop: 16 }, children: [
6137
+ /* @__PURE__ */ d("h4", { children: o("audioPitch.algorithmComparison") }),
6138
+ Object.entries(f).map(([W, B]) => /* @__PURE__ */ v("div", { style: { marginBottom: 12 }, children: [
6139
+ /* @__PURE__ */ d("b", { children: W }),
6140
+ ": ",
6141
+ o("audioPitch.detectedSegments"),
6142
+ " ",
6143
+ B.length,
6144
+ /* @__PURE__ */ d(
6145
+ "pre",
6146
+ {
6147
+ style: {
6148
+ background: "var(--nice-text, #111)",
6149
+ color: "var(--nice-border, #ddd)",
6150
+ padding: 8,
6151
+ borderRadius: 4,
6152
+ marginTop: 8
6153
+ },
6154
+ children: B.map(
6155
+ (w) => `: ${Math.round(w.start * 10)} ${Math.round(w.duration * 10)} ${w.pitch} [${w.freq.toFixed(1)} Hz]`
6156
+ ).join(`
6092
6157
  `)
6093
- }
6094
- )
6095
- ] }, W))
6096
- ] })
6097
- ] });
6158
+ }
6159
+ )
6160
+ ] }, W))
6161
+ ] })
6162
+ ]
6163
+ }
6164
+ );
6098
6165
  }
6099
6166
  function De(e, t) {
6100
6167
  var a;
@@ -6145,48 +6212,52 @@ const ml = [
6145
6212
  id: "default",
6146
6213
  name: "Cyan ? Yellow ? Amber",
6147
6214
  sungGradient: ["#00e5ff", "#ffe600", "#ffab00"],
6148
- goldGradient: ["#FFD700", "#FFA000", "#FFD700"],
6215
+ goldGradient: ["var(--nice-warning, #FFD700)", "#FFA000", "var(--nice-warning, #FFD700)"],
6149
6216
  glowColor: "rgba(0,229,255,0.6)"
6150
6217
  },
6151
6218
  {
6152
6219
  id: "neon-pink",
6153
6220
  name: "Neon Pink ? Violet ? Blue",
6154
- sungGradient: ["#ff1493", "#9b59b6", "#3498db"],
6155
- goldGradient: ["#FFD700", "#FF69B4", "#FFD700"],
6221
+ sungGradient: ["#ff1493", "#9b59b6", "var(--nice-primary, #3498db)"],
6222
+ goldGradient: ["var(--nice-warning, #FFD700)", "#FF69B4", "var(--nice-warning, #FFD700)"],
6156
6223
  glowColor: "rgba(255,20,147,0.6)"
6157
6224
  },
6158
6225
  {
6159
6226
  id: "fire",
6160
6227
  name: "Red ? Orange ? Yellow",
6161
6228
  sungGradient: ["#ff1744", "#ff9100", "#ffea00"],
6162
- goldGradient: ["#FFD700", "#FF6D00", "#FFD700"],
6229
+ goldGradient: ["var(--nice-warning, #FFD700)", "#FF6D00", "var(--nice-warning, #FFD700)"],
6163
6230
  glowColor: "rgba(255,23,68,0.6)"
6164
6231
  },
6165
6232
  {
6166
6233
  id: "ocean",
6167
6234
  name: "Deep Blue ? Teal ? Aqua",
6168
6235
  sungGradient: ["#1a237e", "#00897b", "#00e5ff"],
6169
- goldGradient: ["#FFD700", "#00BCD4", "#FFD700"],
6236
+ goldGradient: ["var(--nice-warning, #FFD700)", "#00BCD4", "var(--nice-warning, #FFD700)"],
6170
6237
  glowColor: "rgba(0,137,123,0.6)"
6171
6238
  },
6172
6239
  {
6173
6240
  id: "forest",
6174
6241
  name: "Green ? Lime ? Yellow",
6175
6242
  sungGradient: ["#1b5e20", "#76ff03", "#ffea00"],
6176
- goldGradient: ["#FFD700", "#76ff03", "#FFD700"],
6243
+ goldGradient: ["var(--nice-warning, #FFD700)", "#76ff03", "var(--nice-warning, #FFD700)"],
6177
6244
  glowColor: "rgba(118,255,3,0.6)"
6178
6245
  },
6179
6246
  {
6180
6247
  id: "retro",
6181
6248
  name: "Orange ? Pink ? Purple",
6182
- sungGradient: ["#ff6d00", "#e91e63", "#7b1fa2"],
6183
- goldGradient: ["#FFD700", "#E91E63", "#FFD700"],
6249
+ sungGradient: ["#ff6d00", "var(--nice-accent-pink, #e91e63)", "#7b1fa2"],
6250
+ goldGradient: [
6251
+ "var(--nice-warning, #FFD700)",
6252
+ "var(--nice-accent-pink, #e91e63)",
6253
+ "var(--nice-warning, #FFD700)"
6254
+ ],
6184
6255
  glowColor: "rgba(233,30,99,0.6)"
6185
6256
  }
6186
6257
  ], Zt = {
6187
6258
  presetId: "default",
6188
6259
  customSungGradient: ["#00e5ff", "#ffe600", "#ffab00"],
6189
- customGoldGradient: ["#FFD700", "#FFA000", "#FFD700"],
6260
+ customGoldGradient: ["var(--nice-warning, #FFD700)", "#FFA000", "var(--nice-warning, #FFD700)"],
6190
6261
  customGlowColor: "rgba(0,229,255,0.6)",
6191
6262
  animationMode: "ball",
6192
6263
  fontFamily: "Arial",
@@ -6539,20 +6610,26 @@ const kl = ({ index: e, style: t, data: n }) => {
6539
6610
  }, [i, c, g, r]), /* @__PURE__ */ v("div", { children: [
6540
6611
  /* @__PURE__ */ v("div", { style: { display: "flex", gap: 8, alignItems: "center", marginBottom: 8 }, children: [
6541
6612
  /* @__PURE__ */ d("button", { onClick: () => l((C) => !C), disabled: !t, children: s ? "Pause" : "Play" }),
6542
- /* @__PURE__ */ v("div", { style: { fontSize: 13, color: "#666" }, children: [
6613
+ /* @__PURE__ */ v("div", { style: { fontSize: 13, color: "var(--nice-text-secondary, #666)" }, children: [
6543
6614
  (m.current || 0).toFixed(2),
6544
6615
  "s"
6545
6616
  ] }),
6546
- /* @__PURE__ */ v("div", { style: { marginLeft: "auto", fontSize: 13, color: "#666" }, children: [
6547
- "Notes: ",
6548
- c.length
6549
- ] })
6617
+ /* @__PURE__ */ v(
6618
+ "div",
6619
+ {
6620
+ style: { marginLeft: "auto", fontSize: 13, color: "var(--nice-text-secondary, #666)" },
6621
+ children: [
6622
+ "Notes: ",
6623
+ c.length
6624
+ ]
6625
+ }
6626
+ )
6550
6627
  ] }),
6551
6628
  /* @__PURE__ */ d(
6552
6629
  "div",
6553
6630
  {
6554
6631
  style: {
6555
- border: "1px solid #ddd",
6632
+ border: "1px solid var(--nice-border, #ddd)",
6556
6633
  height: 220,
6557
6634
  overflow: "hidden",
6558
6635
  padding: 8,
@@ -6570,7 +6647,7 @@ const kl = ({ index: e, style: t, data: n }) => {
6570
6647
  itemData: k,
6571
6648
  children: kl
6572
6649
  }
6573
- ) : /* @__PURE__ */ d("div", { style: { color: "#888" }, children: a("karaokeEditor.noText", "No text") })
6650
+ ) : /* @__PURE__ */ d("div", { style: { color: "var(--nice-text-secondary, #888)" }, children: a("karaokeEditor.noText", "No text") })
6574
6651
  }
6575
6652
  ),
6576
6653
  !n && /* @__PURE__ */ d(
@@ -6633,7 +6710,7 @@ function gp({ ultrastarText: e, audioUrl: t, audioRef: n, ytRef: r }) {
6633
6710
  this.texts = [];
6634
6711
  const _ = {
6635
6712
  font: "18px monospace",
6636
- color: "#ffffff"
6713
+ color: "var(--nice-bg, #fff)"
6637
6714
  }, N = 22;
6638
6715
  let q = 20;
6639
6716
  const U = m.current;
@@ -6653,12 +6730,15 @@ function gp({ ultrastarText: e, audioUrl: t, audioRef: n, ytRef: r }) {
6653
6730
  else
6654
6731
  _ = this.audioEl && this.audioEl.currentTime || 0;
6655
6732
  for (let q = 0; q < this.texts.length; q++)
6656
- this.texts[q].setStyle({ backgroundColor: void 0, color: "#ffffff" });
6733
+ this.texts[q].setStyle({ backgroundColor: void 0, color: "var(--nice-bg, #fff)" });
6657
6734
  const N = p.current;
6658
6735
  for (const q of N)
6659
6736
  if (_ >= q.start && _ < q.start + Math.max(1e-3, q.duration)) {
6660
6737
  const U = this.texts[q.lineIndex];
6661
- U && U.setStyle({ backgroundColor: "rgba(0,130,200,0.16)", color: "#00aaff" });
6738
+ U && U.setStyle({
6739
+ backgroundColor: "rgba(0,130,200,0.16)",
6740
+ color: "var(--nice-info, #00aaff)"
6741
+ });
6662
6742
  }
6663
6743
  }
6664
6744
  }
@@ -7007,10 +7087,10 @@ const $l = st.scoped("GenericPlayer"), Tl = (e) => /youtu(\.be|be\.com)/i.test(e
7007
7087
  display: "flex",
7008
7088
  alignItems: "center",
7009
7089
  justifyContent: "center",
7010
- background: "rgba(0,0,0,0.6)",
7090
+ background: "var(--nice-overlay-60, rgba(0, 0, 0, 0.6))",
7011
7091
  cursor: "pointer"
7012
7092
  },
7013
- children: /* @__PURE__ */ d("span", { style: { color: "#fff", fontSize: 24 }, children: "Click to activate audio" })
7093
+ children: /* @__PURE__ */ d("span", { style: { color: "var(--nice-bg, #fff)", fontSize: 24 }, children: "Click to activate audio" })
7014
7094
  }
7015
7095
  ),
7016
7096
  or && /* @__PURE__ */ v(
@@ -7076,9 +7156,9 @@ const $l = st.scoped("GenericPlayer"), Tl = (e) => /youtu(\.be|be\.com)/i.test(e
7076
7156
  display: "flex",
7077
7157
  alignItems: "center",
7078
7158
  justifyContent: "center",
7079
- background: "rgba(0,0,0,0.7)"
7159
+ background: "var(--nice-overlay-70, rgba(0, 0, 0, 0.7))"
7080
7160
  },
7081
- children: /* @__PURE__ */ d("span", { style: { color: "#fff", fontSize: 72, fontWeight: "bold" }, children: w })
7161
+ children: /* @__PURE__ */ d("span", { style: { color: "var(--nice-bg, #fff)", fontSize: 72, fontWeight: "bold" }, children: w })
7082
7162
  }
7083
7163
  ),
7084
7164
  c === "nobuttons" && /* @__PURE__ */ d(
@@ -7214,7 +7294,7 @@ const $l = st.scoped("GenericPlayer"), Tl = (e) => /youtu(\.be|be\.com)/i.test(e
7214
7294
  onToggle: We
7215
7295
  }
7216
7296
  ),
7217
- c === "compact" && gt.length > 0 && /* @__PURE__ */ d(Ll, { items: gt, onPick: (ue) => Ge(N + 1 + ue) }),
7297
+ c === "compact" && gt.length > 0 && /* @__PURE__ */ d(Ll, { items: gt, onSelect: (ue) => Ge(N + 1 + ue) }),
7218
7298
  c === "nobuttons" && /* @__PURE__ */ d(Ke, {}),
7219
7299
  c === "full" && e.length > 0 && /* @__PURE__ */ d("div", { className: "gp-list", style: { display: "grid", gap: 4 }, children: e.map((ue, pe) => /* @__PURE__ */ v(
7220
7300
  "button",
@@ -7394,10 +7474,7 @@ const $l = st.scoped("GenericPlayer"), Tl = (e) => /youtu(\.be|be\.com)/i.test(e
7394
7474
  }
7395
7475
  )
7396
7476
  ] });
7397
- }, Ll = ({
7398
- items: e,
7399
- onPick: t
7400
- }) => {
7477
+ }, Ll = ({ items: e, onSelect: t }) => {
7401
7478
  const { t: n } = ke();
7402
7479
  return /* @__PURE__ */ v(
7403
7480
  "div",
@@ -7549,10 +7626,10 @@ const Fl = (e) => !!e && /\.m3u8(\?.*)?$/i.test(e), Ca = (e) => {
7549
7626
  const t = Math.floor(e / 60), n = Math.floor(e % 60);
7550
7627
  return `${t}:${n.toString().padStart(2, "0")}`;
7551
7628
  }, pr = {
7552
- border: "1px solid #d1d5db",
7629
+ border: "1px solid var(--nice-border, #d1d5db)",
7553
7630
  borderRadius: 8,
7554
7631
  padding: "6px 10px",
7555
- background: "#fff",
7632
+ background: "var(--nice-bg, #fff)",
7556
7633
  cursor: "pointer"
7557
7634
  }, zl = ({
7558
7635
  isPlaying: e,
@@ -7575,7 +7652,7 @@ const Fl = (e) => !!e && /\.m3u8(\?.*)?$/i.test(e), Ca = (e) => {
7575
7652
  style: { display: "flex", alignItems: "baseline", gap: 8, justifyContent: "space-between" },
7576
7653
  children: [
7577
7654
  /* @__PURE__ */ d("div", {}),
7578
- /* @__PURE__ */ v("div", { style: { fontSize: 12, color: "#64748b" }, children: [
7655
+ /* @__PURE__ */ v("div", { style: { fontSize: 12, color: "var(--nice-text-secondary, #64748b)" }, children: [
7579
7656
  Ca(r),
7580
7657
  " / ",
7581
7658
  Ca(a)
@@ -7709,7 +7786,7 @@ function Gl(e, t, n, r, a, o) {
7709
7786
  }
7710
7787
  i.items = s;
7711
7788
  }
7712
- const Wl = "#94a3b8", Vl = ({ height: e, coverUrl: t, title: n, subtitle: r, label: a }) => /* @__PURE__ */ d("div", { style: { textAlign: "center", color: "#e2e8f0" }, children: t ? /* @__PURE__ */ d("img", { alt: "cover", src: t, style: { height: e - 24, objectFit: "contain" } }) : /* @__PURE__ */ v("div", { style: { opacity: 0.8 }, children: [
7789
+ const Wl = "var(--nice-text-muted, #94a3b8)", Vl = ({ height: e, coverUrl: t, title: n, subtitle: r, label: a }) => /* @__PURE__ */ d("div", { style: { textAlign: "center", color: "var(--nice-border, #e2e8f0)" }, children: t ? /* @__PURE__ */ d("img", { alt: "cover", src: t, style: { height: e - 24, objectFit: "contain" } }) : /* @__PURE__ */ v("div", { style: { opacity: 0.8 }, children: [
7713
7790
  /* @__PURE__ */ d("div", { style: { fontSize: 18, fontWeight: 600 }, children: n ?? "—" }),
7714
7791
  /* @__PURE__ */ d("div", { style: { marginTop: 8, fontSize: 12, color: Wl }, children: a ?? r ?? "—" })
7715
7792
  ] }) });
@@ -7847,7 +7924,7 @@ function Zl(e, t, n, r, a, o) {
7847
7924
  const c = (l.hue + r * 120) % 360, u = e.createRadialGradient(l.x, l.y, l.r * 0.2, l.x, l.y, l.r);
7848
7925
  u.addColorStop(0, `hsla(${c}, 95%, 70%, .8)`), u.addColorStop(1, `hsla(${(c + 40) % 360}, 90%, 30%, 0)`), e.fillStyle = u, e.shadowBlur = 18, e.shadowColor = `hsl(${c}, 100%, 60%)`, e.beginPath(), e.arc(l.x, l.y, l.r, 0, Math.PI * 2), e.fill();
7849
7926
  }
7850
- e.restore(), e.strokeStyle = "rgba(255,255,255,.06)", e.lineWidth = 2, e.strokeRect(1, 1, t - 2, n - 2);
7927
+ e.restore(), e.strokeStyle = "var(--nice-overlay-light-6, rgba(255, 255, 255, 0.06))", e.lineWidth = 2, e.strokeRect(1, 1, t - 2, n - 2);
7851
7928
  }
7852
7929
  function Xl(e, t, n, r, a, o) {
7853
7930
  o.current || (o.current = { tris: [] });
@@ -7918,7 +7995,7 @@ function ec(e, t, n, r, a, o) {
7918
7995
  function tc(e, t, n, r, a, o) {
7919
7996
  e.fillStyle = "rgba(10,16,28,0.25)", e.fillRect(0, 0, t, n);
7920
7997
  const i = t / 2, s = n / 2, l = Math.min(t, n) * (0.38 + a * 0.12), c = e.createRadialGradient(i, s, l * 0.1, i, s, l);
7921
- c.addColorStop(0, `hsla(${(o + 200) % 360},90%,70%,0.95)`), c.addColorStop(0.5, `hsla(${(o + 260) % 360},80%,55%,0.6)`), c.addColorStop(1, "rgba(0,0,0,0)"), e.fillStyle = c, e.beginPath(), e.arc(i, s, l, 0, Math.PI * 2), e.fill();
7998
+ c.addColorStop(0, `hsla(${(o + 200) % 360},90%,70%,0.95)`), c.addColorStop(0.5, `hsla(${(o + 260) % 360},80%,55%,0.6)`), c.addColorStop(1, "transparent"), e.fillStyle = c, e.beginPath(), e.arc(i, s, l, 0, Math.PI * 2), e.fill();
7922
7999
  const u = 18 + Math.floor(a * 50);
7923
8000
  for (let h = 0; h < u; h++) {
7924
8001
  const f = h / u * Math.PI * 2 + r * (0.6 + a * 1.4), m = (Math.sin(r * 2 + h * 1.7) + Math.cos(r * 1.3 + h * 2.1)) * 0.15, p = l * (0.4 + 0.55 * Math.abs(Math.sin(r * 1.2 + h))), b = 6;
@@ -7939,7 +8016,7 @@ function nc(e, t, n, r, a) {
7939
8016
  const f = r[h * i] / 255, m = h / 96 * Math.PI * 2, p = c, b = c + f * (u - c), x = s + Math.cos(m) * p, y = l + Math.sin(m) * p, S = s + Math.cos(m) * b, g = l + Math.sin(m) * b;
7940
8017
  e.strokeStyle = `hsl(${h / 96 * 360 + a},85%,60%)`, e.lineWidth = 3, e.beginPath(), e.moveTo(x, y), e.lineTo(S, g), e.stroke();
7941
8018
  }
7942
- e.fillStyle = "rgba(255,255,255,0.08)", e.beginPath(), e.arc(s, l, c * 0.85, 0, Math.PI * 2), e.fill();
8019
+ e.fillStyle = "var(--nice-overlay-light-8, rgba(255, 255, 255, 0.08))", e.beginPath(), e.arc(s, l, c * 0.85, 0, Math.PI * 2), e.fill();
7943
8020
  }
7944
8021
  function rc(e, t, n, r, a, o) {
7945
8022
  const i = t / 2, s = n / 2, l = Math.min(t, n) * 0.5, c = $a(r, 0, Math.floor(r.length * 0.1)) / 255, u = $a(r, Math.floor(r.length * 0.6), r.length) / 255;
@@ -7972,7 +8049,7 @@ function ac(e, t, n, r, a, o) {
7972
8049
  m === 0 ? e.moveTo(x, y) : e.lineTo(x, y);
7973
8050
  }
7974
8051
  const f = e.createLinearGradient(0, i + s, 0, n);
7975
- f.addColorStop(0, "hsla(190,90%,65%,0.9)"), f.addColorStop(1, "hsla(160,85%,55%,0.4)"), e.strokeStyle = f, e.lineWidth = 2, e.stroke(), e.globalCompositeOperation = "lighter", e.strokeStyle = "rgba(255,255,255,0.08)", e.lineWidth = 6, e.beginPath(), e.moveTo(0, i - s), e.lineTo(t, i - s), e.stroke(), e.beginPath(), e.moveTo(0, i + s), e.lineTo(t, i + s), e.stroke(), e.globalCompositeOperation = "source-over";
8052
+ f.addColorStop(0, "hsla(190,90%,65%,0.9)"), f.addColorStop(1, "hsla(160,85%,55%,0.4)"), e.strokeStyle = f, e.lineWidth = 2, e.stroke(), e.globalCompositeOperation = "lighter", e.strokeStyle = "var(--nice-overlay-light-8, rgba(255, 255, 255, 0.08))", e.lineWidth = 6, e.beginPath(), e.moveTo(0, i - s), e.lineTo(t, i - s), e.stroke(), e.beginPath(), e.moveTo(0, i + s), e.lineTo(t, i + s), e.stroke(), e.globalCompositeOperation = "source-over";
7976
8053
  }
7977
8054
  function oc(e, t, n, r, a, o) {
7978
8055
  const i = t / 2, s = n / 2, l = 5, c = Math.min(t, n) * 0.12;
@@ -8016,7 +8093,7 @@ function lc(e, t, n, r, a, o) {
8016
8093
  e.restore();
8017
8094
  }
8018
8095
  function cc(e, t, n, r) {
8019
- e.lineWidth = 2, e.strokeStyle = "#c7d2fe", e.beginPath();
8096
+ e.lineWidth = 2, e.strokeStyle = "var(--nice-primary-light, #c7d2fe)", e.beginPath();
8020
8097
  const a = t / r.length;
8021
8098
  for (let o = 0; o < r.length; o++) {
8022
8099
  const i = (r[o] - 128) / 128, s = o * a, l = n / 2 + i * (n * 0.45);
@@ -8035,9 +8112,9 @@ const dc = ({ active: e, onClick: t, title: n, children: r }) => /* @__PURE__ */
8035
8112
  padding: "4px 8px",
8036
8113
  borderRadius: 6,
8037
8114
  fontSize: 12,
8038
- border: `1px solid ${e ? "#6366f1" : "#334155"}`,
8115
+ border: `1px solid ${e ? "var(--nice-info, #6366f1)" : "var(--nice-text, #334155)"}`,
8039
8116
  background: e ? "rgba(99,102,241,.12)" : "rgba(15,23,42,.6)",
8040
- color: e ? "#e2e8f0" : "#cbd5e1",
8117
+ color: e ? "var(--nice-border, #e2e8f0)" : "var(--nice-border, #cbd5e1)",
8041
8118
  cursor: "pointer",
8042
8119
  whiteSpace: "nowrap",
8043
8120
  lineHeight: 1.2
@@ -8069,10 +8146,10 @@ const dc = ({ active: e, onClick: t, title: n, children: r }) => /* @__PURE__ */
8069
8146
  // don't let the column stretch — each custom-fit
8070
8147
  gridAutoColumns: "max-content",
8071
8148
  gap: 6,
8072
- background: "rgba(2,6,23,.5)",
8149
+ background: "var(--nice-overlay-50, rgba(2, 6, 23, 0.5))",
8073
8150
  padding: 6,
8074
8151
  borderRadius: 10,
8075
- border: "1px solid #334155",
8152
+ border: "1px solid var(--nice-text, #334155)",
8076
8153
  backdropFilter: "blur(2px)",
8077
8154
  // keep panel at the right edge
8078
8155
  justifyItems: "end",
@@ -8122,10 +8199,10 @@ const pc = ({ vu: e, hide: t }) => {
8122
8199
  bottom: 10,
8123
8200
  display: "flex",
8124
8201
  gap: 2,
8125
- background: "rgba(2,6,23,.5)",
8202
+ background: "var(--nice-overlay-50, rgba(2, 6, 23, 0.5))",
8126
8203
  padding: "6px 8px",
8127
8204
  borderRadius: 8,
8128
- border: "1px solid #334155",
8205
+ border: "1px solid var(--nice-text, #334155)",
8129
8206
  backdropFilter: "blur(2px)",
8130
8207
  pointerEvents: "none",
8131
8208
  zIndex: 9998
@@ -8139,7 +8216,7 @@ const pc = ({ vu: e, hide: t }) => {
8139
8216
  width: 6,
8140
8217
  height: 18,
8141
8218
  borderRadius: 2,
8142
- background: o < r ? `hsl(${i}, 80%, 50%)` : "#1f2937"
8219
+ background: o < r ? `hsl(${i}, 80%, 50%)` : "var(--nice-text, #1f2937)"
8143
8220
  }
8144
8221
  },
8145
8222
  o
@@ -8596,7 +8673,7 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
8596
8673
  }
8597
8674
  } else if (p === "waveform") {
8598
8675
  const A = T.current;
8599
- K.lineWidth = 2, K.strokeStyle = "#c7d2fe", K.beginPath();
8676
+ K.lineWidth = 2, K.strokeStyle = "var(--nice-primary-light, #c7d2fe)", K.beginPath();
8600
8677
  const R = oe / A.length;
8601
8678
  for (let P = 0; P < A.length; P++) {
8602
8679
  const M = (A[P] - 128) / 128, I = P * R, F = W / 2 + M * (W * 0.45);
@@ -8611,7 +8688,7 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
8611
8688
  K.fillStyle = `hsl(${se}, ${ie}%, ${re}%)`, K.fillRect(H * P, F * M, Math.ceil(P), Math.ceil(M));
8612
8689
  }
8613
8690
  }
8614
- K.strokeStyle = getComputedStyle(document.documentElement).getPropertyValue("--waveform-stroke") || "#c7d2fe", g.current = requestAnimationFrame(j);
8691
+ K.strokeStyle = getComputedStyle(document.documentElement).getPropertyValue("--waveform-stroke") || "var(--nice-primary-light, #c7d2fe)", g.current = requestAnimationFrame(j);
8615
8692
  }, Q = () => {
8616
8693
  var oe;
8617
8694
  const J = x.current, K = Math.max(1, Math.floor(window.devicePixelRatio || 1));
@@ -8634,10 +8711,10 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
8634
8711
  bottom: 10,
8635
8712
  display: "flex",
8636
8713
  gap: 2,
8637
- background: "rgba(2,6,23,.5)",
8714
+ background: "var(--nice-overlay-50, rgba(2, 6, 23, 0.5))",
8638
8715
  padding: "6px 8px",
8639
8716
  borderRadius: 8,
8640
- border: "1px solid #334155",
8717
+ border: "1px solid var(--nice-text, #334155)",
8641
8718
  backdropFilter: "blur(2px)"
8642
8719
  },
8643
8720
  children: Array.from({ length: $ }).map((L, j) => {
@@ -8649,7 +8726,7 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
8649
8726
  width: 6,
8650
8727
  height: 18,
8651
8728
  borderRadius: 2,
8652
- background: j < D ? `hsl(${Q}, 80%, 50%)` : "#1f2937"
8729
+ background: j < D ? `hsl(${Q}, 80%, 50%)` : "var(--nice-text, #1f2937)"
8653
8730
  }
8654
8731
  },
8655
8732
  j
@@ -8678,7 +8755,7 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
8678
8755
  placeItems: "center",
8679
8756
  background: "transparent"
8680
8757
  },
8681
- children: /* @__PURE__ */ d("div", { style: { textAlign: "center", color: "#e2e8f0" }, children: a ? /* @__PURE__ */ d("img", { alt: "cover", src: a, style: { height: r - 24, objectFit: "contain" } }) : /* @__PURE__ */ v("div", { style: { opacity: 0.8 }, children: [
8758
+ children: /* @__PURE__ */ d("div", { style: { textAlign: "center", color: "var(--nice-border, #e2e8f0)" }, children: a ? /* @__PURE__ */ d("img", { alt: "cover", src: a, style: { height: r - 24, objectFit: "contain" } }) : /* @__PURE__ */ v("div", { style: { opacity: 0.8 }, children: [
8682
8759
  /* @__PURE__ */ d("div", { style: { fontSize: 18, fontWeight: 600 }, children: o ?? "�" }),
8683
8760
  /* @__PURE__ */ d("div", { style: { marginTop: 8, fontSize: 12, color: yc }, children: s ?? i ?? "�" })
8684
8761
  ] }) })
@@ -8718,10 +8795,10 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
8718
8795
  right: 10,
8719
8796
  display: "flex",
8720
8797
  gap: 6,
8721
- background: "rgba(2,6,23,.5)",
8798
+ background: "var(--nice-overlay-50, rgba(2, 6, 23, 0.5))",
8722
8799
  padding: "6px",
8723
8800
  borderRadius: 10,
8724
- border: "1px solid #334155",
8801
+ border: "1px solid var(--nice-text, #334155)",
8725
8802
  backdropFilter: "blur(2px)",
8726
8803
  pointerEvents: "auto",
8727
8804
  // �and ENABLE only for the switcher
@@ -8884,12 +8961,12 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
8884
8961
  display: "grid",
8885
8962
  placeItems: "center",
8886
8963
  borderRadius: 6,
8887
- border: "1px solid #e5e7eb",
8964
+ border: "1px solid var(--nice-border, #e5e7eb)",
8888
8965
  background: j ? "var(--active-bg, #eef2ff)" : "var(--bg, #fff)",
8889
8966
  opacity: L ? 1 : 0.35,
8890
8967
  cursor: L && S && !g ? "pointer" : "default",
8891
8968
  transition: "transform .05s ease"
8892
- }, z = D === "youtube" ? "#FF0000" : D === "spotify" ? "#1DB954" : D === "tidal" ? "#111827" : D === "hls" ? "#7C3AED" : "#374151", J = D === "youtube" ? "YouTube" : D === "spotify" ? "Spotify" : D === "tidal" ? "TIDAL" : D === "hls" ? "HLS" : "Audio", K = T("playlistItem.sourceLabel") + ": " + J + (j ? ` ${T("playlistItem.sourceSelected")}` : "");
8969
+ }, z = D === "youtube" ? "var(--nice-danger, #ff0000)" : D === "spotify" ? "var(--nice-success, #1db954)" : D === "tidal" ? "var(--nice-text, #111827)" : D === "hls" ? "var(--nice-accent, #7c3aed)" : "var(--nice-text, #374151)", J = D === "youtube" ? "YouTube" : D === "spotify" ? "Spotify" : D === "tidal" ? "TIDAL" : D === "hls" ? "HLS" : "Audio", K = T("playlistItem.sourceLabel") + ": " + J + (j ? ` ${T("playlistItem.sourceSelected")}` : "");
8893
8970
  return /* @__PURE__ */ d(
8894
8971
  "button",
8895
8972
  {
@@ -9043,19 +9120,19 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
9043
9120
  );
9044
9121
  }, wc = {
9045
9122
  width: 48,
9046
- border: "1px solid #e5e7eb",
9123
+ border: "1px solid var(--nice-border, #e5e7eb)",
9047
9124
  borderRadius: 6,
9048
9125
  padding: "8px 6px",
9049
9126
  fontSize: 14,
9050
9127
  textAlign: "center"
9051
9128
  }, fr = {
9052
9129
  width: "100%",
9053
- border: "1px solid #e5e7eb",
9130
+ border: "1px solid var(--nice-border, #e5e7eb)",
9054
9131
  borderRadius: 6,
9055
9132
  padding: "8px 10px",
9056
9133
  fontSize: 14
9057
9134
  }, Fn = {
9058
- border: "1px solid #d1d5db",
9135
+ border: "1px solid var(--nice-border, #d1d5db)",
9059
9136
  background: "var(--bg, #fff)",
9060
9137
  padding: "6px 8px",
9061
9138
  borderRadius: 6,
@@ -9180,12 +9257,18 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
9180
9257
  }, [c, s, p, a, k]);
9181
9258
  me(() => {
9182
9259
  }, [f.length, l]);
9183
- const z = i ?? /* @__PURE__ */ d("div", { style: { padding: "0.75rem", color: "#777", fontStyle: "italic" }, children: u("genericPlaylist.emptyState", "No songs. Add the first one below.") }), J = o ?? u("genericPlaylist.addSong", "Add song");
9260
+ const z = i ?? /* @__PURE__ */ d(
9261
+ "div",
9262
+ {
9263
+ style: { padding: "0.75rem", color: "var(--nice-text-secondary, #777)", fontStyle: "italic" },
9264
+ children: u("genericPlaylist.emptyState", "No songs. Add the first one below.")
9265
+ }
9266
+ ), J = o ?? u("genericPlaylist.addSong", "Add song");
9184
9267
  return /* @__PURE__ */ v(
9185
9268
  "div",
9186
9269
  {
9187
9270
  className: "gp-container",
9188
- style: { border: "1px solid #e5e7eb", borderRadius: 8, padding: 12 },
9271
+ style: { border: "1px solid var(--nice-border, #e5e7eb)", borderRadius: 8, padding: 12 },
9189
9272
  children: [
9190
9273
  /* @__PURE__ */ v(
9191
9274
  "div",
@@ -9204,8 +9287,8 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
9204
9287
  style: {
9205
9288
  padding: "6px 10px",
9206
9289
  borderRadius: 6,
9207
- border: "1px solid #d1d5db",
9208
- background: "#f9fafb"
9290
+ border: "1px solid var(--nice-border, #d1d5db)",
9291
+ background: "var(--nice-bg-secondary, #f9fafb)"
9209
9292
  },
9210
9293
  "aria-label": J,
9211
9294
  children: [
@@ -9234,7 +9317,7 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
9234
9317
  onDrop: L(K.id),
9235
9318
  onDragEnd: j,
9236
9319
  style: {
9237
- border: W ? "2px dashed #6366f1" : "2px solid transparent",
9320
+ border: W ? "2px dashed var(--nice-info, #6366f1)" : "2px solid transparent",
9238
9321
  borderRadius: 8,
9239
9322
  padding: W ? 4 : 0
9240
9323
  },
@@ -9275,7 +9358,7 @@ const yc = "var(--text-dim, #94a3b8)", bc = ({ active: e, onClick: t, title: n,
9275
9358
  }
9276
9359
  ),
9277
9360
  c && !s && /* @__PURE__ */ d("div", { style: { marginTop: 12 }, children: /* @__PURE__ */ v("details", { children: [
9278
- /* @__PURE__ */ d("summary", { style: { cursor: "pointer", color: "#374151" }, children: u("genericPlaylist.bulkPasteSummary", "Paste multiple items at once") }),
9361
+ /* @__PURE__ */ d("summary", { style: { cursor: "pointer", color: "var(--nice-text, #374151)" }, children: u("genericPlaylist.bulkPasteSummary", "Paste multiple items at once") }),
9279
9362
  /* @__PURE__ */ v("div", { style: { marginTop: 6 }, children: [
9280
9363
  /* @__PURE__ */ d(
9281
9364
  "textarea",
@@ -9292,7 +9375,7 @@ OR: Artist;Title;Version`
9292
9375
  rows: 3,
9293
9376
  style: {
9294
9377
  width: "100%",
9295
- border: "1px solid #e5e7eb",
9378
+ border: "1px solid var(--nice-border, #e5e7eb)",
9296
9379
  borderRadius: 6,
9297
9380
  padding: 8,
9298
9381
  fontFamily: "inherit"
@@ -9309,7 +9392,7 @@ OR: Artist;Title;Version`
9309
9392
  marginTop: 6
9310
9393
  },
9311
9394
  children: [
9312
- /* @__PURE__ */ d("div", { style: { color: "#6b7280", fontSize: 12 }, children: u(
9395
+ /* @__PURE__ */ d("div", { style: { color: "var(--nice-text-secondary, #6b7280)", fontSize: 12 }, children: u(
9313
9396
  "genericPlaylist.bulkPasteHint",
9314
9397
  "Each line will be added as a separate song."
9315
9398
  ) }),
@@ -9322,8 +9405,8 @@ OR: Artist;Title;Version`
9322
9405
  style: {
9323
9406
  padding: "6px 10px",
9324
9407
  borderRadius: 6,
9325
- border: "1px solid #d1d5db",
9326
- background: "#f9fafb"
9408
+ border: "1px solid var(--nice-border, #d1d5db)",
9409
+ background: "var(--nice-bg-secondary, #f9fafb)"
9327
9410
  },
9328
9411
  children: u("genericPlaylist.addFromList", "Add from list")
9329
9412
  }
@@ -9337,24 +9420,24 @@ OR: Artist;Title;Version`
9337
9420
  }
9338
9421
  );
9339
9422
  }, Ta = [
9340
- "#ef4444",
9341
- "#f97316",
9342
- "#f59e0b",
9343
- "#eab308",
9344
- "#84cc16",
9345
- "#22c55e",
9346
- "#14b8a6",
9347
- "#06b6d4",
9348
- "#3b82f6",
9349
- "#6366f1",
9350
- "#8b5cf6",
9351
- "#a855f7",
9352
- "#d946ef",
9353
- "#ec4899",
9354
- "#f43f5e",
9423
+ "var(--nice-danger, #ef4444)",
9424
+ "var(--nice-warning, #f97316)",
9425
+ "var(--nice-warning, #f59e0b)",
9426
+ "var(--nice-warning, #eab308)",
9427
+ "var(--nice-success, #84cc16)",
9428
+ "var(--nice-success, #22c55e)",
9429
+ "var(--nice-info, #14b8a6)",
9430
+ "var(--nice-info, #06b6d4)",
9431
+ "var(--nice-primary, #3b82f6)",
9432
+ "var(--nice-info, #6366f1)",
9433
+ "var(--nice-accent, #8b5cf6)",
9434
+ "var(--nice-accent, #a855f7)",
9435
+ "var(--nice-accent-pink, #d946ef)",
9436
+ "var(--nice-accent-pink, #ec4899)",
9437
+ "var(--nice-danger, #f43f5e)",
9355
9438
  "#78716c",
9356
- "#64748b",
9357
- "#000000"
9439
+ "var(--nice-text-secondary, #64748b)",
9440
+ "var(--nice-text, #000000)"
9358
9441
  ], _n = [
9359
9442
  "??",
9360
9443
  "??",
@@ -10345,7 +10428,7 @@ const Nc = ({ rule: e, onChange: t, onRemove: n }) => /* @__PURE__ */ v("div", {
10345
10428
  borderRadius: 8,
10346
10429
  padding: 8,
10347
10430
  zIndex: 100,
10348
- boxShadow: "0 4px 12px rgba(0,0,0,0.1)",
10431
+ boxShadow: "0 4px 12px var(--nice-overlay-10, rgba(0, 0, 0, 0.1))",
10349
10432
  minWidth: 140
10350
10433
  },
10351
10434
  children: [
@@ -10779,9 +10862,9 @@ function Eo() {
10779
10862
  );
10780
10863
  }
10781
10864
  const Oc = st.scoped("PlaylistList"), Fc = {
10782
- border: "1px solid #e5e7eb",
10865
+ border: "1px solid var(--nice-border, #e5e7eb)",
10783
10866
  borderRadius: 8,
10784
- background: "#fff"
10867
+ background: "var(--nice-bg, #fff)"
10785
10868
  }, zc = { ...Fc, padding: "8px 10px", cursor: "pointer" }, Lo = {
10786
10869
  border: "1px solid var(--border-light, #d1d5db)",
10787
10870
  borderRadius: 8,
@@ -10803,7 +10886,12 @@ const Oc = st.scoped("PlaylistList"), Fc = {
10803
10886
  placeholder: r("playlistList.playlistName", "Playlist name..."),
10804
10887
  value: o,
10805
10888
  onChange: (l) => i(l.target.value),
10806
- style: { flex: 1, border: "1px solid #d1d5db", borderRadius: 8, padding: "6px 10px" },
10889
+ style: {
10890
+ flex: 1,
10891
+ border: "1px solid var(--nice-border, #d1d5db)",
10892
+ borderRadius: 8,
10893
+ padding: "6px 10px"
10894
+ },
10807
10895
  "aria-label": "Playlist name"
10808
10896
  }
10809
10897
  ),
@@ -10930,7 +11018,7 @@ const Oc = st.scoped("PlaylistList"), Fc = {
10930
11018
  /* @__PURE__ */ v("div", { children: [
10931
11019
  e == null ? void 0 : e({
10932
11020
  placeholder: s("playlistBrowser.searchAndAdd", "Search and add to playlist..."),
10933
- onPick: (y) => {
11021
+ onSelect: (y) => {
10934
11022
  c && b(c, [Na(y)]);
10935
11023
  }
10936
11024
  }),
@@ -10945,7 +11033,7 @@ const Oc = st.scoped("PlaylistList"), Fc = {
10945
11033
  onChange: (y) => f(y.target.value),
10946
11034
  style: {
10947
11035
  width: "100%",
10948
- border: "1px solid #d1d5db",
11036
+ border: "1px solid var(--nice-border, #d1d5db)",
10949
11037
  borderRadius: 8,
10950
11038
  padding: "6px 10px",
10951
11039
  marginTop: 10
@@ -10955,7 +11043,7 @@ const Oc = st.scoped("PlaylistList"), Fc = {
10955
11043
  ] }),
10956
11044
  t == null ? void 0 : t({
10957
11045
  query: h,
10958
- onPick: (y) => {
11046
+ onSelect: (y) => {
10959
11047
  c && b(c, [Na(y)]);
10960
11048
  }
10961
11049
  }),
@@ -11453,7 +11541,7 @@ const Do = (e, t = null) => e.filter((n) => n.parentId === t).sort((n, r) => n.s
11453
11541
  /* @__PURE__ */ d(
11454
11542
  "button",
11455
11543
  {
11456
- style: { ...O, color: "#ef4444" },
11544
+ style: { ...O, color: "var(--nice-danger, #ef4444)" },
11457
11545
  onClick: () => m(ee),
11458
11546
  children: "?"
11459
11547
  }
@@ -11464,7 +11552,7 @@ const Do = (e, t = null) => e.filter((n) => n.parentId === t).sort((n, r) => n.s
11464
11552
  style: {
11465
11553
  ...O,
11466
11554
  background: fe.color,
11467
- color: "#fff",
11555
+ color: "var(--nice-bg, #fff)",
11468
11556
  borderRadius: 4,
11469
11557
  padding: "2px 8px"
11470
11558
  },
@@ -11639,7 +11727,7 @@ const Do = (e, t = null) => e.filter((n) => n.parentId === t).sort((n, r) => n.s
11639
11727
  transition: "box-shadow 0.15s, transform 0.15s"
11640
11728
  },
11641
11729
  onMouseEnter: (f) => {
11642
- f.currentTarget.style.boxShadow = "0 4px 12px rgba(0,0,0,0.08)", f.currentTarget.style.transform = "translateY(-1px)";
11730
+ f.currentTarget.style.boxShadow = "0 4px 12px var(--nice-overlay-8, rgba(0, 0, 0, 0.08))", f.currentTarget.style.transform = "translateY(-1px)";
11643
11731
  },
11644
11732
  onMouseLeave: (f) => {
11645
11733
  f.currentTarget.style.boxShadow = "none", f.currentTarget.style.transform = "none";
@@ -11723,7 +11811,7 @@ const Do = (e, t = null) => e.filter((n) => n.parentId === t).sort((n, r) => n.s
11723
11811
  value: wt.Library,
11724
11812
  label: "Library",
11725
11813
  icon: "??",
11726
- hex: "#6366f1",
11814
+ hex: "var(--nice-info, #6366f1)",
11727
11815
  css: "var(--source-library, #6366f1)",
11728
11816
  cssBg: "var(--source-library-bg, #6366f118)"
11729
11817
  },
@@ -11731,7 +11819,7 @@ const Do = (e, t = null) => e.filter((n) => n.parentId === t).sort((n, r) => n.s
11731
11819
  value: wt.Spotify,
11732
11820
  label: "Spotify",
11733
11821
  icon: "??",
11734
- hex: "#1db954",
11822
+ hex: "var(--nice-success, #1db954)",
11735
11823
  css: "var(--source-spotify, #1db954)",
11736
11824
  cssBg: "var(--source-spotify-bg, #1db95418)"
11737
11825
  },
@@ -11739,7 +11827,7 @@ const Do = (e, t = null) => e.filter((n) => n.parentId === t).sort((n, r) => n.s
11739
11827
  value: wt.Tidal,
11740
11828
  label: "Tidal",
11741
11829
  icon: "?",
11742
- hex: "#000000",
11830
+ hex: "var(--nice-text, #000000)",
11743
11831
  css: "var(--source-tidal, #000000)",
11744
11832
  cssBg: "var(--source-tidal-bg, #00000018)"
11745
11833
  },
@@ -11747,7 +11835,7 @@ const Do = (e, t = null) => e.filter((n) => n.parentId === t).sort((n, r) => n.s
11747
11835
  value: wt.YouTube,
11748
11836
  label: "YouTube",
11749
11837
  icon: "??",
11750
- hex: "#ff0000",
11838
+ hex: "var(--nice-danger, #ff0000)",
11751
11839
  css: "var(--source-youtube, #ff0000)",
11752
11840
  cssBg: "var(--source-youtube-bg, #ff000018)"
11753
11841
  },
@@ -12079,7 +12167,7 @@ const Do = (e, t = null) => e.filter((n) => n.parentId === t).sort((n, r) => n.s
12079
12167
  borderRadius: 6,
12080
12168
  border: "none",
12081
12169
  background: "var(--accent, #6366f1)",
12082
- color: "#fff",
12170
+ color: "var(--nice-bg, #fff)",
12083
12171
  cursor: "pointer",
12084
12172
  fontWeight: 600
12085
12173
  }, Gn = {
@@ -12697,11 +12785,11 @@ function ed(e) {
12697
12785
  return t ? (0.299 * t.r + 0.587 * t.g + 0.114 * t.b) / 255 : 1;
12698
12786
  }
12699
12787
  function _o() {
12700
- const e = Oa("--text-primary") || "rgba(255,255,255,0.95)", t = Oa("--nav-active") || "goldenrod", n = document.documentElement.getAttribute("data-theme") === "dark", a = ed(e) < 0.45;
12788
+ const e = Oa("--text-primary") || "var(--nice-overlay-light-95, rgba(255, 255, 255, 0.95))", t = Oa("--nav-active") || "goldenrod", n = document.documentElement.getAttribute("data-theme") === "dark", a = ed(e) < 0.45;
12701
12789
  return {
12702
12790
  base: gr(e, 0.92),
12703
12791
  staffLine: gr(e, 0.22),
12704
- outline: a ? "rgba(255,255,255,0.75)" : "rgba(0,0,0,0.55)",
12792
+ outline: a ? "var(--nice-overlay-light-75, rgba(255, 255, 255, 0.75))" : "var(--nice-overlay-55, rgba(0, 0, 0, 0.55))",
12705
12793
  accents: [gr(t, 0.95)],
12706
12794
  isDark: n,
12707
12795
  notesDark: a
@@ -14888,7 +14976,9 @@ function ef(e = {}) {
14888
14976
  };
14889
14977
  }
14890
14978
  function Ho(e) {
14891
- const t = X(null), n = X(/* @__PURE__ */ new Map()), r = X(1), a = G(() => {
14979
+ const t = X(null), n = X(
14980
+ /* @__PURE__ */ new Map()
14981
+ ), r = X(1), a = G(() => {
14892
14982
  if (!t.current) {
14893
14983
  const i = e();
14894
14984
  i.onmessage = (s) => {
@@ -15634,19 +15724,19 @@ function pf(e, t, n) {
15634
15724
  return Math.max(0, Math.round(t - a));
15635
15725
  }
15636
15726
  const jo = {
15637
- crepe: "#a78bfa",
15638
- librosa: "#34d399",
15639
- pitchy: "#60a5fa",
15640
- autocorr: "#555555"
15727
+ crepe: "var(--nice-accent, #a78bfa)",
15728
+ librosa: "var(--nice-success-light, #34d399)",
15729
+ pitchy: "var(--nice-primary-light, #60a5fa)",
15730
+ autocorr: "var(--nice-text-secondary, #555555)"
15641
15731
  };
15642
15732
  function ff(e) {
15643
15733
  return e === "autocorr" ? "Ultrastar" : e.charAt(0).toUpperCase() + e.slice(1);
15644
15734
  }
15645
15735
  function mf(e) {
15646
- return jo[e] ?? "#555555";
15736
+ return jo[e] ?? "var(--nice-text-secondary, #555555)";
15647
15737
  }
15648
15738
  function gf(e) {
15649
- const t = jo[e] ?? "#555555";
15739
+ const t = jo[e] ?? "var(--nice-text-secondary, #555555)";
15650
15740
  return `var(--algo-${e}, ${t})`;
15651
15741
  }
15652
15742
  function yf(e, t) {
@@ -17635,44 +17725,44 @@ function Jf(e = {}) {
17635
17725
  }
17636
17726
  var Hu = /* @__PURE__ */ ((e) => (e[e.Ultrastar = 0] = "Ultrastar", e))(Hu || {}), It = /* @__PURE__ */ ((e) => (e.Unknown = "Unknown", e.Dimmer = "Dimmer", e.DimmerWithOff = "DimmerWithOff", e.RotationWithOff = "RotationWithOff", e.RotationWithOffAndCcw = "RotationWithOffAndCcw", e.Options = "Options", e))(It || {}), ju = /* @__PURE__ */ ((e) => (e[e.Equalizer = 0] = "Equalizer", e[e.Compressor = 1] = "Compressor", e[e.Reverb = 2] = "Reverb", e[e.Delay = 3] = "Delay", e[e.Distortion = 4] = "Distortion", e[e.Chorus = 5] = "Chorus", e[e.Flanger = 6] = "Flanger", e[e.Phaser = 7] = "Phaser", e))(ju || {}), Ku = /* @__PURE__ */ ((e) => (e[e.ReadOnly = 0] = "ReadOnly", e[e.Edit = 1] = "Edit", e[e.Owner = 2] = "Owner", e))(Ku || {});
17637
17727
  const e0 = [
17638
- "#4caf50",
17639
- "#2196f3",
17640
- "#ff9800",
17641
- "#e91e63",
17642
- "#9c27b0",
17643
- "#00bcd4",
17644
- "#8bc34a",
17645
- "#ffc107"
17728
+ "var(--nice-success, #4caf50)",
17729
+ "var(--nice-primary, #2196f3)",
17730
+ "var(--nice-warning, #ff9800)",
17731
+ "var(--nice-accent-pink, #e91e63)",
17732
+ "var(--nice-accent, #9c27b0)",
17733
+ "var(--nice-info, #00bcd4)",
17734
+ "var(--nice-success, #8bc34a)",
17735
+ "var(--nice-warning, #ffc107)"
17646
17736
  ], Xt = [
17647
- "#2196f3",
17737
+ "var(--nice-primary, #2196f3)",
17648
17738
  // blue
17649
- "#e53935",
17739
+ "var(--nice-danger, #e53935)",
17650
17740
  // red
17651
- "#ffeb3b",
17741
+ "var(--nice-warning, #ffeb3b)",
17652
17742
  // yellow
17653
- "#43a047",
17743
+ "var(--nice-success, #43a047)",
17654
17744
  // green
17655
- "#ff9800",
17745
+ "var(--nice-warning, #ff9800)",
17656
17746
  // orange
17657
- "#9c27b0",
17747
+ "var(--nice-accent, #9c27b0)",
17658
17748
  // purple
17659
- "#00bcd4",
17749
+ "var(--nice-info, #00bcd4)",
17660
17750
  // cyan
17661
- "#ffc107",
17751
+ "var(--nice-warning, #ffc107)",
17662
17752
  // amber
17663
- "#8bc34a",
17753
+ "var(--nice-success, #8bc34a)",
17664
17754
  // lime green
17665
- "#f44336",
17755
+ "var(--nice-danger, #f44336)",
17666
17756
  // crimson
17667
- "#3f51b5",
17757
+ "var(--nice-accent, #3f51b5)",
17668
17758
  // indigo
17669
- "#607d8b",
17759
+ "var(--nice-text-secondary, #607d8b)",
17670
17760
  // blue-grey
17671
- "#795548",
17761
+ "var(--nice-warning-dark, #795548)",
17672
17762
  // brown
17673
- "#cddc39",
17763
+ "var(--nice-warning, #cddc39)",
17674
17764
  // lime
17675
- "#673ab7",
17765
+ "var(--nice-accent, #673ab7)",
17676
17766
  // deep purple
17677
17767
  "#009688"
17678
17768
  // teal
@@ -17706,7 +17796,7 @@ const nr = ["off", "no function", "brak"], Yu = (e) => e.segments.some((t) => t.
17706
17796
  "div",
17707
17797
  {
17708
17798
  className: "ntd-dmx-channel",
17709
- style: { border: "1px solid #e5e7eb", borderRadius: 8, padding: 12 },
17799
+ style: { border: "1px solid var(--nice-border, #e5e7eb)", borderRadius: 8, padding: 12 },
17710
17800
  children: [
17711
17801
  /* @__PURE__ */ v("div", { style: { display: "flex", justifyContent: "space-between", marginBottom: 6 }, children: [
17712
17802
  /* @__PURE__ */ v("strong", { children: [
@@ -17714,7 +17804,7 @@ const nr = ["off", "no function", "brak"], Yu = (e) => e.segments.some((t) => t.
17714
17804
  ". ",
17715
17805
  e.name
17716
17806
  ] }),
17717
- a && s && /* @__PURE__ */ d("span", { style: { fontSize: 12, color: "#6b7280" }, children: s.name })
17807
+ a && s && /* @__PURE__ */ d("span", { style: { fontSize: 12, color: "var(--nice-text-secondary, #6b7280)" }, children: s.name })
17718
17808
  ] }),
17719
17809
  /* @__PURE__ */ d(
17720
17810
  "input",
@@ -17744,7 +17834,12 @@ const nr = ["off", "no function", "brak"], Yu = (e) => e.segments.some((t) => t.
17744
17834
  i(u), n(u);
17745
17835
  },
17746
17836
  onBlur: () => r == null ? void 0 : r(o),
17747
- style: { width: 80, padding: 6, border: "1px solid #d1d5db", borderRadius: 6 }
17837
+ style: {
17838
+ width: 80,
17839
+ padding: 6,
17840
+ border: "1px solid var(--nice-border, #d1d5db)",
17841
+ borderRadius: 6
17842
+ }
17748
17843
  }
17749
17844
  ) }),
17750
17845
  Yu(e) && /* @__PURE__ */ d(
@@ -17757,8 +17852,8 @@ const nr = ["off", "no function", "brak"], Yu = (e) => e.segments.some((t) => t.
17757
17852
  marginTop: 8,
17758
17853
  padding: "6px 10px",
17759
17854
  borderRadius: 6,
17760
- border: "1px solid #d1d5db",
17761
- background: "#f9fafb",
17855
+ border: "1px solid var(--nice-border, #d1d5db)",
17856
+ background: "var(--nice-bg-secondary, #f9fafb)",
17762
17857
  cursor: "pointer"
17763
17858
  },
17764
17859
  children: "OFF"
@@ -17787,7 +17882,7 @@ const nr = ["off", "no function", "brak"], Yu = (e) => e.segments.some((t) => t.
17787
17882
  "div",
17788
17883
  {
17789
17884
  className: "ntd-dmx-channel",
17790
- style: { border: "1px solid #e5e7eb", borderRadius: 8, padding: 12 },
17885
+ style: { border: "1px solid var(--nice-border, #e5e7eb)", borderRadius: 8, padding: 12 },
17791
17886
  children: [
17792
17887
  /* @__PURE__ */ v("strong", { children: [
17793
17888
  e.channel,
@@ -17815,8 +17910,8 @@ const nr = ["off", "no function", "brak"], Yu = (e) => e.segments.some((t) => t.
17815
17910
  style: {
17816
17911
  padding: "8px 10px",
17817
17912
  borderRadius: 8,
17818
- border: l ? "2px solid #2563eb" : "1px solid #d1d5db",
17819
- background: l ? "#eff6ff" : "#fff",
17913
+ border: l ? "2px solid var(--nice-primary-hover, #2563eb)" : "1px solid var(--nice-border, #d1d5db)",
17914
+ background: l ? "var(--nice-primary-bg, #eff6ff)" : "var(--nice-bg, #fff)",
17820
17915
  textAlign: "left",
17821
17916
  cursor: "pointer",
17822
17917
  overflow: "hidden",
@@ -17932,7 +18027,12 @@ function r0({
17932
18027
  {
17933
18028
  value: (c == null ? void 0 : c.serialNumber) || "",
17934
18029
  onChange: ($) => u(s.find((D) => D.serialNumber === $.target.value) ?? null),
17935
- style: { width: "100%", padding: 8, borderRadius: 6, border: "1px solid #d1d5db" },
18030
+ style: {
18031
+ width: "100%",
18032
+ padding: 8,
18033
+ borderRadius: 6,
18034
+ border: "1px solid var(--nice-border, #d1d5db)"
18035
+ },
17936
18036
  children: s.map(($) => {
17937
18037
  var D, L;
17938
18038
  return /* @__PURE__ */ v("option", { value: $.serialNumber, children: [
@@ -17946,12 +18046,18 @@ function r0({
17946
18046
  })
17947
18047
  }
17948
18048
  ),
17949
- q && /* @__PURE__ */ v("div", { style: { marginTop: 6, fontSize: 12, color: "#6b7280" }, children: [
17950
- "Mode: ",
17951
- /* @__PURE__ */ d("b", { children: q.modeName }),
17952
- ", footprint: ",
17953
- /* @__PURE__ */ d("b", { children: q.footprint })
17954
- ] })
18049
+ q && /* @__PURE__ */ v(
18050
+ "div",
18051
+ {
18052
+ style: { marginTop: 6, fontSize: 12, color: "var(--nice-text-secondary, #6b7280)" },
18053
+ children: [
18054
+ "Mode: ",
18055
+ /* @__PURE__ */ d("b", { children: q.modeName }),
18056
+ ", footprint: ",
18057
+ /* @__PURE__ */ d("b", { children: q.footprint })
18058
+ ]
18059
+ }
18060
+ )
17955
18061
  ] }),
17956
18062
  /* @__PURE__ */ d(
17957
18063
  "button",
@@ -17961,8 +18067,8 @@ function r0({
17961
18067
  style: {
17962
18068
  padding: "10px 14px",
17963
18069
  borderRadius: 8,
17964
- border: "1px solid #10b981",
17965
- background: "#ecfdf5",
18070
+ border: "1px solid var(--nice-success, #10b981)",
18071
+ background: "var(--nice-success-bg, #ecfdf5)",
17966
18072
  cursor: "pointer"
17967
18073
  },
17968
18074
  children: "Open port"
@@ -17976,8 +18082,8 @@ function r0({
17976
18082
  style: {
17977
18083
  padding: "10px 14px",
17978
18084
  borderRadius: 8,
17979
- border: "1px solid #ef4444",
17980
- background: "#fef2f2",
18085
+ border: "1px solid var(--nice-danger, #ef4444)",
18086
+ background: "var(--nice-danger-bg, #fef2f2)",
17981
18087
  cursor: "pointer"
17982
18088
  },
17983
18089
  children: "Close port"
@@ -17990,8 +18096,8 @@ function r0({
17990
18096
  style: {
17991
18097
  padding: "10px 14px",
17992
18098
  borderRadius: 8,
17993
- border: "1px solid #4b5563",
17994
- background: "#f3f4f6",
18099
+ border: "1px solid var(--nice-text-secondary, #4b5563)",
18100
+ background: "var(--nice-bg-secondary, #f3f4f6)",
17995
18101
  cursor: "pointer"
17996
18102
  },
17997
18103
  children: "Blackout"
@@ -18020,7 +18126,12 @@ function r0({
18020
18126
  max: 44,
18021
18127
  value: m,
18022
18128
  onChange: ($) => p(Number($.target.value)),
18023
- style: { width: "100%", padding: 8, borderRadius: 6, border: "1px solid #d1d5db" }
18129
+ style: {
18130
+ width: "100%",
18131
+ padding: 8,
18132
+ borderRadius: 6,
18133
+ border: "1px solid var(--nice-border, #d1d5db)"
18134
+ }
18024
18135
  }
18025
18136
  )
18026
18137
  ] }),
@@ -18034,7 +18145,12 @@ function r0({
18034
18145
  max: 255,
18035
18146
  value: b,
18036
18147
  onChange: ($) => x(Sr(Number($.target.value))),
18037
- style: { width: "100%", padding: 8, borderRadius: 6, border: "1px solid #d1d5db" }
18148
+ style: {
18149
+ width: "100%",
18150
+ padding: 8,
18151
+ borderRadius: 6,
18152
+ border: "1px solid var(--nice-border, #d1d5db)"
18153
+ }
18038
18154
  }
18039
18155
  )
18040
18156
  ] }),
@@ -18045,8 +18161,8 @@ function r0({
18045
18161
  style: {
18046
18162
  padding: "10px 14px",
18047
18163
  borderRadius: 8,
18048
- border: "1px solid #3b82f6",
18049
- background: "#eff6ff",
18164
+ border: "1px solid var(--nice-primary, #3b82f6)",
18165
+ background: "var(--nice-primary-bg, #eff6ff)",
18050
18166
  cursor: "pointer"
18051
18167
  },
18052
18168
  children: "Apply configuration"
@@ -18558,7 +18674,7 @@ const d0 = ({
18558
18674
  style: {
18559
18675
  left: F,
18560
18676
  width: H,
18561
- backgroundColor: (te == null ? void 0 : te.color) || I.color || "#8b5cf6"
18677
+ backgroundColor: (te == null ? void 0 : te.color) || I.color || "var(--nice-accent, #8b5cf6)"
18562
18678
  },
18563
18679
  onClick: (ne) => {
18564
18680
  ne.stopPropagation(), T(M.id);
@@ -18669,7 +18785,7 @@ const d0 = ({
18669
18785
  "span",
18670
18786
  {
18671
18787
  className: "nice-dmx-timeline__track-color",
18672
- style: { backgroundColor: M.color || "#8b5cf6" }
18788
+ style: { backgroundColor: M.color || "var(--nice-accent, #8b5cf6)" }
18673
18789
  }
18674
18790
  ),
18675
18791
  /* @__PURE__ */ d("span", { className: "nice-dmx-timeline__track-name", children: M.name }),
@@ -19035,7 +19151,7 @@ function p0({
19035
19151
  const H = () => {
19036
19152
  q.current = requestAnimationFrame(H), F.clearRect(0, 0, I.width, I.height);
19037
19153
  const te = F.createLinearGradient(0, I.height, 0, 0);
19038
- if (te.addColorStop(0, "rgba(99,102,241,0.8)"), te.addColorStop(0.5, "rgba(168,85,247,0.6)"), te.addColorStop(1, "rgba(236,72,153,0.4)"), !g.isPlaying) {
19154
+ if (te.addColorStop(0, "var(--nice-accent-tint-80, rgba(99, 102, 241, 0.8))"), te.addColorStop(0.5, "rgba(168,85,247,0.6)"), te.addColorStop(1, "rgba(236,72,153,0.4)"), !g.isPlaying) {
19039
19155
  const re = I.width / 32;
19040
19156
  for (let O = 0; O < 32; O++) {
19041
19157
  const Y = 4 + Math.sin(Date.now() / 1e3 + O * 0.3) * 3;
@@ -19333,7 +19449,7 @@ const dh = qe.forwardRef(function(t, n) {
19333
19449
  width: a = 300,
19334
19450
  height: o = 100,
19335
19451
  barCount: i = 32,
19336
- barColor: s = "#3b82f6",
19452
+ barColor: s = "var(--nice-primary, #3b82f6)",
19337
19453
  backgroundColor: l = "transparent",
19338
19454
  fftSize: c = 256,
19339
19455
  smoothing: u = 0.8,
@@ -19508,34 +19624,34 @@ const dh = qe.forwardRef(function(t, n) {
19508
19624
  gap: 8,
19509
19625
  padding: 12,
19510
19626
  borderRadius: 12,
19511
- boxShadow: "0 4px 20px rgba(0, 0, 0, 0.15)",
19627
+ boxShadow: "0 4px 20px var(--nice-overlay-15, rgba(0, 0, 0, 0.15))",
19512
19628
  fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
19513
19629
  fontSize: 14,
19514
19630
  minWidth: 200,
19515
19631
  maxWidth: 280,
19516
19632
  transition: "all 0.2s ease"
19517
19633
  }, hh = {
19518
- background: "rgba(255, 255, 255, 0.95)",
19519
- text: "#1a1a1a",
19520
- textSecondary: "#666",
19521
- border: "rgba(0, 0, 0, 0.1)",
19522
- speakingRing: "#22c55e",
19523
- mutedBg: "#fee2e2",
19524
- mutedIcon: "#ef4444",
19525
- activeBg: "#dcfce7",
19526
- activeIcon: "#22c55e",
19527
- hoverBg: "rgba(0, 0, 0, 0.05)"
19634
+ background: "var(--nice-overlay-light-95, rgba(255, 255, 255, 0.95))",
19635
+ text: "var(--nice-bg, #1a1a1a)",
19636
+ textSecondary: "var(--nice-text-secondary, #666)",
19637
+ border: "var(--nice-overlay-10, rgba(0, 0, 0, 0.1))",
19638
+ speakingRing: "var(--nice-success, #22c55e)",
19639
+ mutedBg: "var(--nice-danger-bg, #fee2e2)",
19640
+ mutedIcon: "var(--nice-danger, #ef4444)",
19641
+ activeBg: "var(--nice-success-bg, #dcfce7)",
19642
+ activeIcon: "var(--nice-success, #22c55e)",
19643
+ hoverBg: "var(--nice-overlay-5, rgba(0, 0, 0, 0.05))"
19528
19644
  }, ph = {
19529
19645
  background: "rgba(30, 30, 30, 0.95)",
19530
- text: "#ffffff",
19531
- textSecondary: "#a0a0a0",
19532
- border: "rgba(255, 255, 255, 0.1)",
19533
- speakingRing: "#22c55e",
19534
- mutedBg: "#7f1d1d",
19535
- mutedIcon: "#fca5a5",
19646
+ text: "var(--nice-bg, #fff)",
19647
+ textSecondary: "var(--nice-text-muted, #a0a0a0)",
19648
+ border: "var(--nice-overlay-light-10, rgba(255, 255, 255, 0.1))",
19649
+ speakingRing: "var(--nice-success, #22c55e)",
19650
+ mutedBg: "var(--nice-danger-dark, #7f1d1d)",
19651
+ mutedIcon: "var(--nice-danger-bg, #fca5a5)",
19536
19652
  activeBg: "#14532d",
19537
- activeIcon: "#86efac",
19538
- hoverBg: "rgba(255, 255, 255, 0.1)"
19653
+ activeIcon: "var(--nice-success-light, #86efac)",
19654
+ hoverBg: "var(--nice-overlay-light-10, rgba(255, 255, 255, 0.1))"
19539
19655
  }, y0 = qe.forwardRef(function(t, n) {
19540
19656
  const {
19541
19657
  userId: r,
@@ -19768,7 +19884,7 @@ const dh = qe.forwardRef(function(t, n) {
19768
19884
  width: 256,
19769
19885
  height: 32,
19770
19886
  barCount: 24,
19771
- barColor: E ? "#9ca3af" : ["#3b82f6", "#8b5cf6"],
19887
+ barColor: E ? "var(--nice-text-muted, #9ca3af)" : ["var(--nice-primary, #3b82f6)", "var(--nice-accent, #8b5cf6)"],
19772
19888
  barGap: 3,
19773
19889
  barBorderRadius: 2,
19774
19890
  autoStart: !1,
@@ -19848,8 +19964,8 @@ const dh = qe.forwardRef(function(t, n) {
19848
19964
  padding: "8px 12px",
19849
19965
  borderRadius: 8,
19850
19966
  border: "none",
19851
- backgroundColor: "#fef2f2",
19852
- color: "#dc2626",
19967
+ backgroundColor: "var(--nice-danger-bg, #fef2f2)",
19968
+ color: "var(--nice-danger-dark, #dc2626)",
19853
19969
  cursor: "pointer",
19854
19970
  display: "flex",
19855
19971
  alignItems: "center",
@@ -19900,7 +20016,7 @@ const dh = qe.forwardRef(function(t, n) {
19900
20016
  borderRadius: "50%",
19901
20017
  border: "none",
19902
20018
  backgroundColor: j.background,
19903
- boxShadow: "0 4px 12px rgba(0, 0, 0, 0.15)",
20019
+ boxShadow: "0 4px 12px var(--nice-overlay-15, rgba(0, 0, 0, 0.15))",
19904
20020
  cursor: "pointer",
19905
20021
  display: "flex",
19906
20022
  alignItems: "center",
@@ -19936,7 +20052,7 @@ const dh = qe.forwardRef(function(t, n) {
19936
20052
  height: 20,
19937
20053
  borderRadius: "50%",
19938
20054
  backgroundColor: j.speakingRing,
19939
- color: "#fff",
20055
+ color: "var(--nice-bg, #fff)",
19940
20056
  fontSize: 11,
19941
20057
  fontWeight: 600,
19942
20058
  display: "flex",