/* Jejak Sunyi Music Player v1.0 — fully namespaced */
#ssJejakMusicPlayer,
#ssJejakMusicPlayer *,
#ssJejakMusicPlayer *::before,
#ssJejakMusicPlayer *::after,
[data-ss-jejak-music-mount],
[data-ss-jejak-music-mount] *,
[data-ss-jejak-music-mount] *::before,
[data-ss-jejak-music-mount] *::after {
  box-sizing: border-box;
}

:root {
  --ss-jmp-font-serif: Georgia, "Times New Roman", serif;
  --ss-jmp-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.ss-jmp-body-locked { overflow: hidden !important; }

#ssJejakMusicPlayer {
  --ss-jmp-bg: #f4eee3;
  --ss-jmp-panel: rgba(255,252,246,.97);
  --ss-jmp-panel-2: #eee5d7;
  --ss-jmp-text: #242b2d;
  --ss-jmp-muted: #737776;
  --ss-jmp-line: rgba(47,54,55,.14);
  --ss-jmp-gold: #a87d32;
  --ss-jmp-gold-soft: rgba(168,125,50,.14);
  --ss-jmp-shadow: 0 28px 80px rgba(25,27,27,.24);
  --ss-jmp-radius: 28px;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  color: var(--ss-jmp-text);
  font-family: var(--ss-jmp-font-sans);
  isolation: isolate;
  transition: opacity .18s ease, visibility .18s ease;
}

#ssJejakMusicPlayer[data-ss-jmp-theme="dark"] {
  --ss-jmp-bg: #10161a;
  --ss-jmp-panel: rgba(22,29,33,.98);
  --ss-jmp-panel-2: #1b2429;
  --ss-jmp-text: #f0eee8;
  --ss-jmp-muted: #9da4a5;
  --ss-jmp-line: rgba(239,238,232,.13);
  --ss-jmp-gold: #c7a15a;
  --ss-jmp-gold-soft: rgba(199,161,90,.14);
  --ss-jmp-shadow: 0 30px 90px rgba(0,0,0,.52);
}

#ssJejakMusicPlayer.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
#ssJejakMusicPlayer.is-sskbds-stack-covered { pointer-events: none; }
#ssJejakMusicPlayer.is-sskbds-stack-top { pointer-events: auto; }

#ssJejakMusicPlayer .ss-jmp-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,13,14,.56);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

#ssJejakMusicPlayer .ss-jmp-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(920px, calc(100% - 32px));
  max-height: min(900px, calc(100% - 32px));
  transform: translate(-50%, -48%) scale(.985);
  overflow: auto;
  border: 1px solid var(--ss-jmp-line);
  border-radius: var(--ss-jmp-radius);
  background: linear-gradient(145deg, var(--ss-jmp-panel), var(--ss-jmp-panel-2));
  box-shadow: var(--ss-jmp-shadow);
  outline: none;
  transition: transform .2s ease;
}
#ssJejakMusicPlayer.is-open .ss-jmp-panel { transform: translate(-50%, -50%) scale(1); }

#ssJejakMusicPlayer .ss-jmp-head,
#ssJejakMusicPlayer .ss-jmp-library-head,
#ssJejakMusicPlayer .ss-jmp-time,
#ssJejakMusicPlayer .ss-jmp-volume-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#ssJejakMusicPlayer .ss-jmp-head { padding: 20px 24px; border-bottom: 1px solid var(--ss-jmp-line); }
#ssJejakMusicPlayer .ss-jmp-head-copy { display: grid; gap: 2px; }
#ssJejakMusicPlayer .ss-jmp-kicker { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--ss-jmp-gold); font-weight: 700; }
#ssJejakMusicPlayer .ss-jmp-head-label { font-size: 12px; color: var(--ss-jmp-muted); }
#ssJejakMusicPlayer .ss-jmp-icon-btn,
#ssJejakMusicPlayer .ss-jmp-control,
#ssJejakMusicPlayer .ss-jmp-play,
#ssJejakMusicPlayer .ss-jmp-compact-play,
#ssJejakMusicPlayer .ss-jmp-compact-open {
  border: 0;
  font: inherit;
  cursor: pointer;
}
#ssJejakMusicPlayer .ss-jmp-icon-btn { width: 38px; height: 38px; border-radius: 50%; background: var(--ss-jmp-gold-soft); color: var(--ss-jmp-text); font-size: 24px; }

#ssJejakMusicPlayer .ss-jmp-body { display: grid; grid-template-columns: 310px minmax(0,1fr); gap: 34px; padding: 32px; }
#ssJejakMusicPlayer .ss-jmp-artwork {
  aspect-ratio: 1;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 30% 25%, rgba(199,161,90,.34), transparent 34%), linear-gradient(145deg, #20282b, #111719);
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 18px 42px rgba(0,0,0,.18);
  overflow: hidden;
}
#ssJejakMusicPlayer .ss-jmp-artwork.has-image .ss-jmp-artwork-mark { opacity: 0; }
#ssJejakMusicPlayer .ss-jmp-artwork-mark { color: rgba(255,255,255,.72); font: 76px/1 var(--ss-jmp-font-serif); }
#ssJejakMusicPlayer .ss-jmp-main { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
#ssJejakMusicPlayer .ss-jmp-meta-line { display:flex; justify-content:space-between; gap:12px; color:var(--ss-jmp-gold); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
#ssJejakMusicPlayer .ss-jmp-title { margin: 8px 0 5px; font: 600 clamp(30px,4vw,50px)/1.02 var(--ss-jmp-font-serif); letter-spacing:-.025em; color:var(--ss-jmp-text); }
#ssJejakMusicPlayer .ss-jmp-artist { margin:0; color:var(--ss-jmp-muted); font-size:14px; }
#ssJejakMusicPlayer .ss-jmp-description { min-height: 22px; margin: 18px 0; color:var(--ss-jmp-muted); line-height:1.65; font-size:13px; }
#ssJejakMusicPlayer .ss-jmp-progress-wrap { margin-top: 12px; }
#ssJejakMusicPlayer .ss-jmp-range { width:100%; margin:0; accent-color:var(--ss-jmp-gold); cursor:pointer; }
#ssJejakMusicPlayer .ss-jmp-time { margin-top:7px; font-size:11px; color:var(--ss-jmp-muted); }
#ssJejakMusicPlayer .ss-jmp-controls { display:flex; align-items:center; justify-content:center; gap:10px; margin:24px 0 14px; }
#ssJejakMusicPlayer .ss-jmp-control { width:42px; height:42px; border-radius:50%; background:transparent; color:var(--ss-jmp-text); font-size:26px; }
#ssJejakMusicPlayer .ss-jmp-control-small { font-size:16px; }
#ssJejakMusicPlayer .ss-jmp-control[data-state="on"],
#ssJejakMusicPlayer .ss-jmp-control[data-state="all"],
#ssJejakMusicPlayer .ss-jmp-control[data-state="one"] { color:var(--ss-jmp-gold); background:var(--ss-jmp-gold-soft); }
#ssJejakMusicPlayer .ss-jmp-play { width:62px; height:62px; border-radius:50%; background:var(--ss-jmp-gold); color:#fff; box-shadow:0 10px 24px rgba(168,125,50,.25); font-size:19px; }
#ssJejakMusicPlayer .ss-jmp-volume-row { gap:12px; color:var(--ss-jmp-muted); font-size:11px; }
#ssJejakMusicPlayer .ss-jmp-volume { max-width:180px; }
#ssJejakMusicPlayer .ss-jmp-library { border-top:1px solid var(--ss-jmp-line); padding:22px 32px 30px; }
#ssJejakMusicPlayer .ss-jmp-library-head { gap:15px; margin-bottom:12px; }
#ssJejakMusicPlayer .ss-jmp-library-head strong { display:block; margin-top:3px; font:600 20px var(--ss-jmp-font-serif); }
#ssJejakMusicPlayer .ss-jmp-library-head > span { color:var(--ss-jmp-muted); font-size:12px; }
#ssJejakMusicPlayer .ss-jmp-track-list { display:grid; gap:5px; max-height:220px; overflow:auto; }
#ssJejakMusicPlayer .ss-jmp-track { width:100%; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; padding:11px 12px; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--ss-jmp-text); text-align:left; cursor:pointer; font:inherit; }
#ssJejakMusicPlayer .ss-jmp-track:hover,
#ssJejakMusicPlayer .ss-jmp-track.is-current { background:var(--ss-jmp-gold-soft); border-color:var(--ss-jmp-line); }
#ssJejakMusicPlayer .ss-jmp-track-no,
#ssJejakMusicPlayer .ss-jmp-track-duration { color:var(--ss-jmp-muted); font-size:11px; }
#ssJejakMusicPlayer .ss-jmp-track-copy { min-width:0; display:grid; gap:3px; }
#ssJejakMusicPlayer .ss-jmp-track-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
#ssJejakMusicPlayer .ss-jmp-track-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ss-jmp-muted); font-size:11px; }
#ssJejakMusicPlayer .ss-jmp-empty { padding:18px; border:1px dashed var(--ss-jmp-line); border-radius:14px; color:var(--ss-jmp-muted); font-size:12px; line-height:1.6; }
#ssJejakMusicPlayer .ss-jmp-audio { display:none !important; }

[data-ss-jejak-music-mount] { display:block; min-width:0; }
[data-ss-jejak-music-mount] .ss-jmp-compact { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; min-height:56px; padding:8px 10px; border:1px solid rgba(47,54,55,.12); border-radius:14px; background:rgba(255,252,246,.92); color:#242b2d; font-family:var(--ss-jmp-font-sans); overflow:hidden; }
[data-ss-jejak-music-mount] .ss-jmp-compact-play { width:38px; height:38px; border:0; border-radius:50%; background:#a87d32; color:#fff; cursor:pointer; }
[data-ss-jejak-music-mount] .ss-jmp-compact-copy { min-width:0; display:grid; gap:2px; }
[data-ss-jejak-music-mount] .ss-jmp-compact-copy strong,
[data-ss-jejak-music-mount] .ss-jmp-compact-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-ss-jejak-music-mount] .ss-jmp-compact-copy strong { font-size:12px; }
[data-ss-jejak-music-mount] .ss-jmp-compact-copy small { color:#747776; font-size:10px; }
[data-ss-jejak-music-mount] .ss-jmp-compact-open { width:32px; height:32px; border:0; background:transparent; color:#737776; cursor:pointer; }
[data-ss-jejak-music-mount] .ss-jmp-compact-progress { position:absolute; left:0; right:0; bottom:0; height:2px; background:rgba(47,54,55,.08); }
[data-ss-jejak-music-mount] .ss-jmp-compact-progress span { display:block; width:0; height:100%; background:#a87d32; transition:width .12s linear; }

@media (max-width: 720px) {
  #ssJejakMusicPlayer .ss-jmp-panel { width:calc(100% - 18px); max-height:calc(100% - 18px); border-radius:22px; }
  #ssJejakMusicPlayer .ss-jmp-body { grid-template-columns:1fr; gap:22px; padding:20px; }
  #ssJejakMusicPlayer .ss-jmp-artwork { width:min(62vw,290px); margin:0 auto; }
  #ssJejakMusicPlayer .ss-jmp-title { font-size:34px; }
  #ssJejakMusicPlayer .ss-jmp-library { padding:18px 20px 24px; }
  #ssJejakMusicPlayer .ss-jmp-head { padding:16px 18px; }
}

@media (max-width: 420px) {
  #ssJejakMusicPlayer .ss-jmp-body { padding:16px; }
  #ssJejakMusicPlayer .ss-jmp-artwork { width:58vw; }
  #ssJejakMusicPlayer .ss-jmp-title { font-size:30px; }
  #ssJejakMusicPlayer .ss-jmp-controls { margin-top:18px; }
}

@media (prefers-reduced-motion: reduce) {
  #ssJejakMusicPlayer, #ssJejakMusicPlayer .ss-jmp-panel { transition:none; }
}

/* =========================================================
   JEJAK SUNYI MINI PLAYER v1.0.2
   Persistent playback control. Not a modal.
   ========================================================= */

/*
 * Jejak Sunyi Music Player v1.0.2
 * Global popup + persistent mini player.
 * Mini player is not a modal and does not use a separate modal stack.
 */

#ssJejakMusicMini,
#ssJejakMusicMini *,
#ssJejakMusicMini *::before,
#ssJejakMusicMini *::after {
  box-sizing: border-box;
}

#ssJejakMusicMini {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 10000;
  width: min(330px, calc(100vw - 32px));
  padding: 0;
  border: 1px solid rgba(185,154,97,.24);
  border-radius: 17px;
  background:
    radial-gradient(circle at 12% 0%, rgba(185,154,97,.15), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.90), rgba(247,244,237,.86));
  color: #151515;
  box-shadow: 0 18px 46px rgba(0,0,0,.16);
  backdrop-filter: blur(14px) saturate(118%);
  -webkit-backdrop-filter: blur(14px) saturate(118%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .20s ease, visibility .20s ease, transform .20s ease;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#ssJejakMusicMini.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

#ssJejakMusicMini .ss-jmp-mini-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 11px 11px 10px 14px;
}

#ssJejakMusicMini .ss-jmp-mini-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 2px;
}

#ssJejakMusicMini .ss-jmp-mini-kicker {
  color: #8e642a;
  font-size: 9px;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: .15em;
}

#ssJejakMusicMini .ss-jmp-mini-title {
  overflow: hidden;
  color: #172235;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.12;
  font-weight: 650;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#ssJejakMusicMini .ss-jmp-mini-subtitle {
  overflow: hidden;
  color: rgba(23,34,53,.58);
  font-size: 10.5px;
  line-height: 1.25;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#ssJejakMusicMini .ss-jmp-mini-action {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(23,34,53,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  color: #8e642a;
  font: inherit;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
}

#ssJejakMusicMini .ss-jmp-mini-action:hover {
  border-color: rgba(142,100,42,.34);
  background: rgba(255,255,255,.92);
  color: #172235;
  transform: translateY(-1px);
}

#ssJejakMusicMini .ss-jmp-mini-action:active {
  transform: translateY(0);
}

#ssJejakMusicMini .ss-jmp-mini-action:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(142,100,42,.20);
}

#ssJejakMusicMini .ss-jmp-mini-progress {
  height: 3px;
  margin: 0 12px 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(23,34,53,.12);
}

#ssJejakMusicMini .ss-jmp-mini-progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #b99a61;
  transition: width .12s linear;
}

html.ss-darkmode #ssJejakMusicMini,
body.ss-darkmode #ssJejakMusicMini {
  border-color: rgba(202,167,102,.25);
  background:
    radial-gradient(circle at 12% 0%, rgba(202,167,102,.14), transparent 42%),
    linear-gradient(145deg, rgba(16,29,44,.95), rgba(7,17,29,.92));
  color: rgba(244,239,230,.88);
  box-shadow: 0 22px 58px rgba(0,0,0,.48);
}

html.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-kicker,
body.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-kicker {
  color: #caa766;
}

html.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-title,
body.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-title {
  color: #f4efe6;
}

html.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-subtitle,
body.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-subtitle {
  color: rgba(244,239,230,.55);
}

html.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-action,
body.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-action {
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  color: #caa766;
}

html.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-action:hover,
body.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-action:hover {
  border-color: rgba(202,167,102,.34);
  background: rgba(255,255,255,.10);
  color: #f4efe6;
}

html.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-progress,
body.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-progress {
  background: rgba(255,255,255,.10);
}

html.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-progress span,
body.ss-darkmode #ssJejakMusicMini .ss-jmp-mini-progress span {
  background: #caa766;
}

@media (max-width: 640px) {
  #ssJejakMusicMini {
    right: 10px;
    bottom: 10px;
    width: min(330px, calc(100vw - 20px));
    border-radius: 15px;
  }

  #ssJejakMusicMini .ss-jmp-mini-inner {
    padding: 10px 9px 9px 12px;
    gap: 7px;
  }

  #ssJejakMusicMini .ss-jmp-mini-title {
    font-size: 15px;
  }

  #ssJejakMusicMini .ss-jmp-mini-action {
    width: 31px;
    height: 31px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #ssJejakMusicMini {
    transition: none;
  }

  #ssJejakMusicMini .ss-jmp-mini-progress span {
    transition: none;
  }
}


/* =========================================================
   COLLECTION RELATED LINKS
   v1.0.3 — JSON-driven, collection-scoped
   ========================================================= */
#ssJejakMusicPlayer .ss-jmp-collection-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 14px;
  padding: 10px 0 2px;
  border-top: 1px solid var(--ss-jmp-line);
}

#ssJejakMusicPlayer .ss-jmp-collection-links[hidden] {
  display: none !important;
}

#ssJejakMusicPlayer .ss-jmp-links-kicker {
  flex: 0 0 auto;
  margin-right: 2px;
  color: var(--ss-jmp-gold);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

#ssJejakMusicPlayer .ss-jmp-collection-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 29px;
  padding: 5px 9px;
  border: 1px solid var(--ss-jmp-line);
  border-radius: 999px;
  background: var(--ss-jmp-gold-soft);
  color: var(--ss-jmp-text);
  font: 700 11px/1.2 var(--ss-jmp-font-sans);
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

#ssJejakMusicPlayer .ss-jmp-collection-link span {
  color: var(--ss-jmp-gold);
  font-size: 12px;
  line-height: 1;
}

#ssJejakMusicPlayer .ss-jmp-collection-link:hover {
  border-color: var(--ss-jmp-gold);
  color: var(--ss-jmp-text);
  transform: translateY(-1px);
}

#ssJejakMusicPlayer .ss-jmp-collection-link:focus-visible {
  outline: 2px solid var(--ss-jmp-gold);
  outline-offset: 2px;
}
