/* Ahaang Music Player — self-contained dark RTL skin */
.ahaang-playlist-new,
#ahaang-player,
.ahaang-player-restore,
.ahaang-playlist-dropdown,
.ahaang-single-player-container {
    --ahaang-bg: #101216;
    --ahaang-bg-2: #17191f;
    --ahaang-line: rgba(255,255,255,.09);
    --ahaang-text: #f2f0eb;
    --ahaang-muted: #a7a39a;
    --ahaang-soft: #d6d0c3;
    --ahaang-accent: #d9a441;
    --ahaang-accent-2: #f0c66a;
    --ahaang-radius: 10px;
    --ahaang-shadow: 0 18px 50px rgba(0,0,0,.34);
}

.ahaang-playlist-new,
#ahaang-player,
.ahaang-player-restore,
.ahaang-playlist-dropdown,
.ahaang-single-player-container {
    font-family: inherit;
    box-sizing: border-box;
}

.ahaang-playlist-new *,
#ahaang-player *,
.ahaang-player-restore *,
.ahaang-single-player-container * {
    box-sizing: border-box;
}

.ahaang-playlist-new {
    direction: rtl;
    margin: 24px 0;
    padding: 14px;
    color: var(--ahaang-text);
    border: 1px solid rgba(217,164,65,.28);
    border-radius: var(--ahaang-radius);
    background: linear-gradient(180deg, rgba(217,164,65,.07), rgba(255,255,255,.018)), rgba(16,18,22,.9);
    box-shadow: var(--ahaang-shadow);
}

.ahaang-playlist-header {
    display: grid;
    grid-template-columns: 64px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    padding-bottom: 14px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--ahaang-line);
}

.ahaang-playlist-cover {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(217,164,65,.24);
    border-radius: var(--ahaang-radius);
    background: var(--ahaang-bg-2);
    color: var(--ahaang-accent-2);
    object-fit: cover;
    font-size: 32px;
    line-height: 1;
}

.ahaang-playlist-heading { min-width: 0; display: grid; gap: 1px; }
.ahaang-playlist-heading span { color: var(--ahaang-accent-2); font-size: 12px; font-weight: 800; }
.ahaang-playlist-heading strong { overflow: hidden; color: var(--ahaang-text); font-size: 16px; line-height: 1.55; text-overflow: ellipsis; white-space: nowrap; }
.ahaang-playlist-heading em { color: var(--ahaang-muted); font-size: 12px; font-style: normal; }
.playlist-master-play { display: flex; align-items: center; justify-content: center; }

.master-play-btn,
.single-master-play-btn {
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(240,198,106,.5);
    border-radius: 50%;
    color: #18130a;
    background: linear-gradient(180deg, var(--ahaang-accent-2), var(--ahaang-accent));
    box-shadow: 0 10px 24px rgba(217,164,65,.22);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.master-play-btn:hover,
.single-master-play-btn:hover { transform: translateY(-1px); filter: saturate(1.05); box-shadow: 0 14px 30px rgba(217,164,65,.3); }
.master-play-btn svg,
.single-master-play-btn svg { width: 30px; height: 30px; fill: currentColor; }
.master-play-btn .master-play-icon,
.single-master-play-btn .single-play-icon { transform: translateX(-1px); }
.master-play-btn .master-pause-icon,
.single-master-play-btn .single-pause-icon,
.track-play .pause-icon { display: none; }

.playlist-tracks-list { display: grid; gap: 8px; }
.playlist-track {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--ahaang-line);
    border-radius: var(--ahaang-radius);
    background: rgba(255,255,255,.035);
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.playlist-track:hover,
.playlist-track.playing { border-color: rgba(217,164,65,.5); background: rgba(217,164,65,.12); }
.playlist-track:hover { transform: translateY(-1px); }
.track-number { width: 42px; height: 36px; display: inline-grid; place-items: center; border-radius: 8px; color: var(--ahaang-accent-2); background: rgba(217,164,65,.09); font-size: 13px; font-weight: 900; }
.track-info { min-width: 0; overflow: hidden; align-self: center; color: var(--ahaang-soft); text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.track-singer { color: var(--ahaang-text); font-size: 14px; font-weight: 800; }
.track-sep { margin: 0 5px; color: var(--ahaang-accent-2); font-weight: 800; }
.track-title { color: var(--ahaang-muted); font-size: 13px; }
.track-actions { display: inline-flex; gap: 8px; align-items: center; justify-content: flex-end; align-self: center; }
.ahaang-playlist-new .track-actions .track-play,
.ahaang-playlist-new .track-actions .track-download {
    min-width: 42px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid rgba(217,164,65,.36);
    border-radius: 8px;
    background: rgba(217,164,65,.1);
    color: var(--ahaang-accent-2);
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.ahaang-playlist-new .track-actions .track-play:hover,
.ahaang-playlist-new .track-actions .track-download:hover { color: #18130a; background: var(--ahaang-accent); transform: translateY(-1px); }
.track-play svg,
.track-download svg { width: 16px; height: 16px; flex: 0 0 auto; fill: currentColor; }
.ahaang-hidden-track { display: none; }
.ahaang-load-more { margin-top: 12px; text-align: center; }
.ahaang-load-more .load-more-tracks { padding: 8px 14px; border: 1px solid rgba(217,164,65,.32); border-radius: 8px; color: var(--ahaang-accent-2); background: rgba(217,164,65,.09); cursor: pointer; font: inherit; font-weight: 800; }
.ahaang-empty-playlist { padding: 12px; border: 1px solid rgba(217,164,65,.24); border-radius: var(--ahaang-radius); color: var(--ahaang-muted); text-align: center; }

.ahaang-single-player-container {
    width: min(100%,420px);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 18px auto 12px;
    padding: 14px;
    border: 1px solid rgba(217,164,65,.28);
    border-radius: var(--ahaang-radius);
    background: linear-gradient(135deg, rgba(217,164,65,.12), rgba(255,255,255,.025)), rgba(16,18,22,.82);
}

#ahaang-player {
    --ahaang-floating-control-size: 38px;
    --ahaang-floating-icon-size: 18px;
    position: fixed;
    z-index: 10000;
    bottom: 18px;
    left: 50%;
    width: min(720px,calc(100vw - 32px));
    min-height: 98px;
    display: grid;
    grid-template-columns: 78px minmax(0,1fr);
    gap: 16px;
    align-items: center;
    padding: 13px 16px;
    border: 1px solid rgba(240,198,106,.28);
    border-radius: 18px;
    color: var(--ahaang-text);
    background: linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.035)), radial-gradient(circle at 8% 0%,rgba(240,198,106,.2),transparent 36%), rgba(8,9,12,.92);
    box-shadow: 0 18px 48px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(22px) saturate(1.18);
    transform: translateX(-50%);
    transition: transform .24s ease, opacity .2s ease;
}
#ahaang-player::before { position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(90deg,transparent,rgba(240,198,106,.16),transparent); content: ''; opacity: .55; }
#ahaang-player.is-minimized { pointer-events: none; opacity: 0; transform: translate(-50%,calc(100% + 48px)); }
.ahaang-player-cover { position: relative; z-index: 1; width: 78px; height: 78px; flex: 0 0 78px; border: 1px solid rgba(240,198,106,.32); border-radius: 18px; background: var(--ahaang-bg-2); box-shadow: 0 12px 28px rgba(0,0,0,.28); object-fit: cover; }
.player-center { position: relative; z-index: 1; min-width: 0; display: grid; grid-template-areas: 'info' 'controls' 'timeline'; row-gap: 8px; }
.ahaang-player-info { grid-area: info; display: flex; justify-content: center; gap: 7px; min-width: 0; overflow: hidden; direction: rtl; text-align: center; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.ahaang-player-info .track-singer { color: var(--ahaang-accent-2); }
.ahaang-player-info .track-title { color: var(--ahaang-soft); }
.ahaang-player-info .track-info-separator { color: var(--ahaang-muted); }
.ahaang-player-info .track-info-separator[hidden] { display: none; }
.ahaang-player-controls { grid-area: controls; width: max-content; justify-self: center; display: flex; gap: 8px; align-items: center; padding: 6px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(255,255,255,.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.ahaang-player-controls > button,
.ahaang-player-controls > a { width: var(--ahaang-floating-control-size); height: var(--ahaang-floating-control-size); min-width: var(--ahaang-floating-control-size); min-height: var(--ahaang-floating-control-size); flex: 0 0 var(--ahaang-floating-control-size); display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(240,198,106,.32); border-radius: 12px; background: rgba(217,164,65,.12); color: var(--ahaang-accent-2); cursor: pointer; line-height: 1; text-decoration: none; transition: transform .18s ease,color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease; }
.ahaang-player-controls > button::before,
.ahaang-player-controls > a::before { width: var(--ahaang-floating-icon-size); height: var(--ahaang-floating-icon-size); display: block; background: currentColor; content: ''; mask-position: center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; }
.ahaang-player-controls > button:hover,
.ahaang-player-controls > a:hover { border-color: rgba(240,198,106,.56); background: rgba(240,198,106,.14); box-shadow: 0 10px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.1); transform: translateY(-1px); }
.ahaang-player-controls > button.is-active { border-color: rgba(240,198,106,.68); background: rgba(217,164,65,.24); box-shadow: 0 0 0 3px rgba(217,164,65,.14),inset 0 1px 0 rgba(255,255,255,.12); }
.ahaang-player-controls .ahaang-mode-btn::before { display: none; }
.ahaang-mode-btn .ahaang-control-icon { width: var(--ahaang-floating-icon-size); height: var(--ahaang-floating-icon-size); display: block; background: currentColor; mask-position: center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; }
.ctrl-play.paused::before { mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/></svg>'); -webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/></svg>'); }
.ctrl-play.playing::before { mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/></svg>'); -webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/></svg>'); }
.ctrl-prev::before { mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 6h2v12H6zm3.5 6l8.5 6V6z"/></svg>'); -webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 6h2v12H6zm3.5 6l8.5 6V6z"/></svg>'); }
.ctrl-next::before { mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 6h2v12h-2zm-3.5 6l-8.5-6v12z"/></svg>'); -webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 6h2v12h-2zm-3.5 6l-8.5-6v12z"/></svg>'); }
.ctrl-download::before { mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 4h2v8l3-3 1.4 1.4L12 15.8l-5.4-5.4L8 9l3 3V4zm-5 14h12v2H6v-2z"/></svg>'); -webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 4h2v8l3-3 1.4 1.4L12 15.8l-5.4-5.4L8 9l3 3V4zm-5 14h12v2H6v-2z"/></svg>'); }
.ctrl-playlist::before { mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 10h11v2H3zm0-4h11v2H3zm0 8h7v2H3zm13-1v8l6-4z"/></svg>'); -webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 10h11v2H3zm0-4h11v2H3zm0 8h7v2H3zm13-1v8l6-4z"/></svg>'); }
.ahaang-repeat-btn .ahaang-control-icon { mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>'); -webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>'); }
.ahaang-shuffle-btn .ahaang-control-icon { mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.59 9.17 5.41 4 4 5.41l5.17 5.17 1.42-1.41zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4h-5.5zm.33 9.41-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04-3.13-3.13z"/></svg>'); -webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.59 9.17 5.41 4 4 5.41l5.17 5.17 1.42-1.41zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4h-5.5zm.33 9.41-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04-3.13-3.13z"/></svg>'); }
.ahaang-player-timeline { grid-area: timeline; width: 100%; }
.ahaang-progress-bar { position: relative; width: 100%; height: 7px; display: block; overflow: hidden; padding: 0; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; background: rgba(255,255,255,.1); box-shadow: inset 0 1px 3px rgba(0,0,0,.28); cursor: pointer; }
.ahaang-progress-buffered,.ahaang-progress-filled { position:absolute; inset:0 auto 0 0; width:0; border-radius:inherit; pointer-events:none; }
.ahaang-progress-buffered{background:rgba(255,255,255,.2)}.ahaang-progress-filled{z-index:1;background:linear-gradient(90deg,var(--ahaang-accent),var(--ahaang-accent-2));box-shadow:0 0 16px rgba(217,164,65,.38)}
.ahaang-times{display:flex;justify-content:space-between;margin-top:4px;color:var(--ahaang-muted);font-size:10px;direction:ltr}
.ahaang-player-minimize,.ahaang-player-restore{display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(240,198,106,.5);border-radius:11px;color:#18130a;background:linear-gradient(180deg,var(--ahaang-accent-2),var(--ahaang-accent));box-shadow:0 8px 18px rgba(217,164,65,.2);cursor:pointer}
.ahaang-player-minimize{position:absolute;z-index:2;top:-16px;right:16px;width:34px;height:30px}.ahaang-player-minimize span,.ahaang-player-restore span{width:20px;height:20px;background-position:center;background-repeat:no-repeat;background-size:contain}.ahaang-player-minimize span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318130a' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E")}.ahaang-player-restore{position:fixed;z-index:10000;right:20px;bottom:14px;width:44px;height:42px;opacity:0;pointer-events:none;transform:translateY(18px);transition:transform .2s ease,opacity .2s ease}.ahaang-player-restore[hidden]{display:none}.ahaang-player-restore.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.ahaang-player-restore span{width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318130a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 17V7'/%3E%3Cpath d='M7 12l5-5 5 5'/%3E%3Cpath d='M5 20h14'/%3E%3C/svg%3E")}
.ahaang-playlist-dropdown{position:absolute;right:0;bottom:calc(100% + 12px);width:min(420px,calc(100vw - 40px));max-height:420px;display:none;flex-direction:column;overflow:hidden;direction:rtl;border:1px solid rgba(217,164,65,.24);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025)),rgba(8,9,12,.97);box-shadow:var(--ahaang-shadow);backdrop-filter:blur(18px)}.ahaang-playlist-dropdown.show{display:flex}.ahaang-playlist-dropdown .dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--ahaang-line);color:var(--ahaang-accent-2);font-weight:900}.ahaang-playlist-dropdown .close-dropdown{border:0;background:none;color:var(--ahaang-muted);cursor:pointer;font:inherit;font-size:22px}.ahaang-playlist-dropdown .dropdown-items{overflow-y:auto;padding:6px}.ahaang-playlist-dropdown .dropdown-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:8px;border:1px solid transparent;border-radius:13px;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:inherit}.ahaang-playlist-dropdown .dropdown-item:hover,.ahaang-playlist-dropdown .dropdown-item.is-current{border-color:rgba(240,198,106,.22);background:rgba(240,198,106,.1)}.ahaang-playlist-dropdown .dropdown-item img{width:42px;height:42px;border:1px solid var(--ahaang-line);border-radius:8px;background:var(--ahaang-bg-2);object-fit:cover}.ahaang-playlist-dropdown .dropdown-item-info{display:grid;gap:2px;min-width:0;text-align:right;font-size:12px}.ahaang-playlist-dropdown .dropdown-item-singer{color:var(--ahaang-accent-2);font-weight:900}.ahaang-playlist-dropdown .dropdown-item-title{overflow:hidden;color:var(--ahaang-muted);text-overflow:ellipsis;white-space:nowrap}
.ahaang-playlist-new button:focus-visible,.ahaang-playlist-new a:focus-visible,#ahaang-player button:focus-visible,#ahaang-player a:focus-visible,.ahaang-player-restore:focus-visible{outline:3px solid rgba(240,198,106,.72);outline-offset:3px}
@media(max-width:768px){.ahaang-playlist-new{margin:18px 0;padding:10px}.ahaang-playlist-header{grid-template-columns:52px minmax(0,1fr) 56px;gap:9px;padding-bottom:10px}.ahaang-playlist-cover{width:52px;height:52px;font-size:26px}.ahaang-playlist-heading strong{font-size:13px}.master-play-btn,.single-master-play-btn{width:56px;height:56px;flex-basis:56px}.master-play-btn svg,.single-master-play-btn svg{width:26px;height:26px}.playlist-track{grid-template-columns:34px minmax(0,1fr) 74px;gap:8px;padding:8px}.track-number{width:34px;height:32px;font-size:12px}.track-info{line-height:1.55;white-space:normal}.track-singer,.track-title{display:block;font-size:12px}.track-sep{display:none}.track-actions{flex-direction:column;align-items:stretch;gap:6px}.ahaang-playlist-new .track-actions .track-play,.ahaang-playlist-new .track-actions .track-download{width:100%;min-height:32px;padding:5px 9px;font-size:11px}#ahaang-player{--ahaang-floating-control-size:28px;--ahaang-floating-icon-size:15px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;width:calc(100vw - 20px);min-height:94px;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:9px 10px;border-radius:16px;transform:none}#ahaang-player.is-minimized{transform:translateY(calc(100% + 48px))}.ahaang-player-cover{width:58px;height:58px;flex-basis:58px;border-radius:14px}.player-center{row-gap:6px}.ahaang-player-info{font-size:10px}.ahaang-player-controls{width:100%;gap:0;justify-content:space-between;padding:4px 6px;border-radius:14px}.ahaang-progress-bar{height:6px}.ahaang-player-minimize{top:-14px;right:10px}.ahaang-player-restore{right:10px;bottom:calc(10px + env(safe-area-inset-bottom))}.ahaang-playlist-dropdown{width:calc(100vw - 20px);max-height:360px}}
@media(prefers-reduced-motion:reduce){.ahaang-playlist-new *,#ahaang-player *,.ahaang-player-restore *{scroll-behavior:auto!important;transition:none!important}}

/* Single-player card: compact, content-rich, and isolated from theme button styles. */
.ahaang-single-player-container {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    min-height: 84px;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) 46px;
    gap: 12px;
    align-items: center;
    margin: 20px auto 14px;
    padding: 11px 12px;
    direction: rtl;
    text-align: right;
    border: 1px solid rgba(217,164,65,.30);
    border-radius: 14px;
    color: var(--ahaang-text);
    background: linear-gradient(135deg, rgba(217,164,65,.14), rgba(255,255,255,.025)), rgba(16,18,22,.88);
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

.ahaang-single-player-art {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(240,198,106,.30);
    border-radius: 12px;
    color: var(--ahaang-accent-2);
    background: radial-gradient(circle at 30% 20%, rgba(240,198,106,.20), transparent 62%), var(--ahaang-bg-2);
}

.ahaang-single-player-art img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ahaang-single-player-details {
    min-width: 0;
    display: grid;
    gap: 2px;
    line-height: 1.45;
}

.ahaang-single-player-label {
    color: var(--ahaang-accent-2);
    font-size: 11px;
    font-weight: 800;
}

.ahaang-single-player-details strong {
    overflow: hidden;
    color: var(--ahaang-text);
    font-size: 14px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ahaang-single-player-singer {
    overflow: hidden;
    color: var(--ahaang-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ahaang-single-player-container .single-master-play-btn {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(240,198,106,.56) !important;
    border-radius: 13px !important;
    appearance: none;
    color: #18130a !important;
    background: linear-gradient(180deg, var(--ahaang-accent-2), var(--ahaang-accent)) !important;
    box-shadow: 0 8px 18px rgba(217,164,65,.20) !important;
    cursor: pointer;
    line-height: 1 !important;
}

.ahaang-single-player-container .single-master-play-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(217,164,65,.30) !important;
}

.ahaang-single-player-container .single-master-play-btn svg {
    width: 21px !important;
    height: 21px !important;
    display: block;
    fill: currentColor;
}

.ahaang-single-player-container .single-master-play-btn .single-play-icon {
    transform: translateX(-1px);
}

.ahaang-single-player-container .single-master-play-btn .single-pause-icon {
    display: none;
}

.ahaang-single-player-container .single-master-play-btn:focus-visible {
    outline: 3px solid rgba(240,198,106,.72);
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .ahaang-single-player-container {
        width: 100% !important;
        max-width: none !important;
        min-height: 74px;
        grid-template-columns: 50px minmax(0, 1fr) 42px;
        gap: 10px;
        margin: 16px auto 12px;
        padding: 10px;
        border-radius: 12px;
    }

    .ahaang-single-player-art {
        width: 50px;
        height: 50px;
        border-radius: 10px;
    }

    .ahaang-single-player-details strong { font-size: 13px; }
    .ahaang-single-player-singer { font-size: 11px; }

    .ahaang-single-player-container .single-master-play-btn {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        border-radius: 12px !important;
    }

    .ahaang-single-player-container .single-master-play-btn svg {
        width: 19px !important;
        height: 19px !important;
    }
}


/* v1.3.2 hardening for single-player layout */
body .ahaang-single-player-container{justify-content:flex-start!important;flex-wrap:nowrap!important;}
body .ahaang-single-player-container .ahaang-single-player-art,body .ahaang-single-player-container .ahaang-single-player-details,body .ahaang-single-player-container .single-master-play-btn{position:relative!important;visibility:visible!important;opacity:1!important;}
body .ahaang-single-player-container .ahaang-single-player-details{align-self:center!important;}
@media (max-width:768px){body .ahaang-single-player-container{width:100%!important;max-width:none!important;padding:10px!important;margin:16px auto 12px!important;}body .ahaang-single-player-container .ahaang-single-player-art{width:50px!important;height:50px!important;min-width:50px!important;}body .ahaang-single-player-container .single-master-play-btn{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;flex-basis:42px!important;} }


/* v1.3.3: make the single-player play / pause symbol explicit and theme-proof. */
body .ahaang-single-player-container .single-master-play-btn {
    color: #f7cf75 !important;
    background: linear-gradient(135deg, rgba(240,198,106,.16), rgba(217,164,65,.08)), #17140d !important;
    border-color: rgba(240,198,106,.68) !important;
}
body .ahaang-single-player-container .single-master-play-btn .single-play-icon,
body .ahaang-single-player-container .single-master-play-btn .single-pause-icon,
body .ahaang-single-player-container .single-master-play-btn .single-play-icon path,
body .ahaang-single-player-container .single-master-play-btn .single-pause-icon path {
    fill: #f7cf75 !important;
    color: #f7cf75 !important;
    stroke: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* v1.3.4 — single player uses the same solid-gold icon language as the playlist controls.
   These icons are CSS shapes, not SVGs, so theme CSS cannot turn them black or hide them. */
body .ahaang-single-player-container .single-master-play-btn {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    flex: 0 0 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(240,198,106,.42) !important;
    border-radius: 13px !important;
    color: #f0c66a !important;
    background: rgba(217,164,65,.10) !important;
    box-shadow: none !important;
    line-height: 1 !important;
}

body .ahaang-single-player-container .single-master-play-btn .ahaang-solid-play-icon,
body .ahaang-single-player-container .single-master-play-btn .ahaang-solid-pause-icon {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 20px !important;
    background-color: #f0c66a !important;
    color: transparent !important;
    fill: none !important;
    transform: none !important;
}

body .ahaang-single-player-container .single-master-play-btn .ahaang-solid-play-icon {
    margin-right: -1px !important;
    clip-path: polygon(10% 0, 100% 50%, 10% 100%) !important;
}

body .ahaang-single-player-container .single-master-play-btn .ahaang-solid-pause-icon {
    display: none !important;
    border-radius: 1px !important;
    clip-path: polygon(0 0, 35% 0, 35% 100%, 0 100%, 0 0, 65% 0, 100% 0, 100% 100%, 65% 100%) !important;
}

body .ahaang-single-player-container .single-master-play-btn:hover {
    background: rgba(217,164,65,.18) !important;
    border-color: rgba(240,198,106,.72) !important;
    transform: translateY(-1px) !important;
}

/* JS toggles inline display. These selectors make the pause state stay gold and visible. */
body .ahaang-single-player-container .single-master-play-btn .ahaang-solid-play-icon[style*="display: none"] { display: none !important; }
body .ahaang-single-player-container .single-master-play-btn .ahaang-solid-pause-icon[style*="display: block"] { display: block !important; }

@media (max-width: 768px) {
    body .ahaang-single-player-container .single-master-play-btn {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        flex-basis: 42px !important;
        border-radius: 12px !important;
    }
    body .ahaang-single-player-container .single-master-play-btn .ahaang-solid-play-icon,
    body .ahaang-single-player-container .single-master-play-btn .ahaang-solid-pause-icon {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        min-height: 18px !important;
        flex-basis: 18px !important;
    }
}


/* Mehava theme compatibility polish */
body.ahaang-mehava-theme .ahaang-playlist-new,
body.ahaang-mehava-theme .ahaang-single-player-container {
    border-color: rgba(184,134,47,.38) !important;
    background:
        radial-gradient(circle at top right, rgba(240,198,106,.10), transparent 42%),
        linear-gradient(135deg, rgba(184,134,47,.13), rgba(255,255,255,.025)),
        rgba(11,13,18,.94) !important;
}

body.ahaang-mehava-theme .ahaang-playlist-heading span,
body.ahaang-mehava-theme .ahaang-single-player-label,
body.ahaang-mehava-theme .track-sep {
    color: var(--ahaang-accent-2) !important;
}

.ahaang-playlist-new a,
.ahaang-playlist-new button,
.ahaang-single-player-container button,
.ahaang-player-restore {
    -webkit-tap-highlight-color: transparent;
}

.ahaang-playlist-new button:focus-visible,
.ahaang-playlist-new a:focus-visible,
.ahaang-single-player-container button:focus-visible,
.ahaang-player-restore:focus-visible {
    outline: 2px solid var(--ahaang-accent-2);
    outline-offset: 3px;
}

.ahaang-playlist-new,
.ahaang-single-player-container {
    isolation: isolate;
    max-width: 100%;
}

.playlist-track,
.ahaang-single-player-container {
    overflow: hidden;
}

@media (max-width: 640px) {
    .ahaang-playlist-new {
        padding: 12px;
        margin: 18px 0;
    }

    .ahaang-playlist-header {
        grid-template-columns: 54px minmax(0,1fr) 52px;
        gap: 10px;
    }

    .ahaang-playlist-cover {
        width: 54px;
        height: 54px;
        font-size: 26px;
    }

    .master-play-btn,
    .single-master-play-btn {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .playlist-track {
        grid-template-columns: 34px minmax(0,1fr);
        gap: 9px;
    }

    .track-actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .ahaang-playlist-new .track-actions .track-play,
    .ahaang-playlist-new .track-actions .track-download {
        flex: 1 1 0;
        justify-content: center;
    }

    .ahaang-single-player-container {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}


/* v1.5.3: mobile playlist rows keep title and actions in one line */
@media (max-width: 640px) {
    .ahaang-playlist-new .playlist-track {
        grid-template-columns: 30px minmax(0, 1fr) 82px !important;
        gap: 7px !important;
        align-items: center !important;
        padding: 8px !important;
    }

    .ahaang-playlist-new .playlist-track .track-number {
        width: 30px !important;
        height: 30px !important;
        font-size: 11px !important;
    }

    .ahaang-playlist-new .playlist-track .track-info {
        min-width: 0 !important;
        overflow: hidden !important;
        line-height: 1.35 !important;
        white-space: normal !important;
    }

    .ahaang-playlist-new .playlist-track .track-singer,
    .ahaang-playlist-new .playlist-track .track-title {
        display: block !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .ahaang-playlist-new .playlist-track .track-actions {
        grid-column: auto !important;
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 5px !important;
        align-self: center !important;
        min-width: 0 !important;
    }

    .ahaang-playlist-new .playlist-track .track-actions .track-play,
    .ahaang-playlist-new .playlist-track .track-actions .track-download {
        width: 38px !important;
        min-width: 38px !important;
        height: 32px !important;
        min-height: 32px !important;
        flex: 0 0 38px !important;
        padding: 0 !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .ahaang-playlist-new .playlist-track .track-actions .track-play span,
    .ahaang-playlist-new .playlist-track .track-actions .track-download span {
        display: none !important;
    }

    .ahaang-playlist-new .playlist-track .track-actions .track-play svg,
    .ahaang-playlist-new .playlist-track .track-actions .track-download svg {
        width: 16px !important;
        height: 16px !important;
    }
}

@media (max-width: 380px) {
    .ahaang-playlist-new .playlist-track {
        grid-template-columns: 26px minmax(0, 1fr) 74px !important;
        gap: 6px !important;
    }

    .ahaang-playlist-new .playlist-track .track-number {
        width: 26px !important;
        height: 28px !important;
    }

    .ahaang-playlist-new .playlist-track .track-actions .track-play,
    .ahaang-playlist-new .playlist-track .track-actions .track-download {
        width: 34px !important;
        min-width: 34px !important;
        flex-basis: 34px !important;
    }
}


/* v1.5.4: PJAX shell is loaded for fast Mehava navigation but stays hidden until playback starts. */
#ahaang-player.is-pjax-shell:not(.is-active) {
    opacity: 0;
    pointer-events: none;
}


/* v1.5.6: make sure the floating player becomes visible after PJAX playback starts. */
#ahaang-player.is-active {
    opacity: 1 !important;
    pointer-events: auto !important;
}
#ahaang-player.is-active:not(.is-minimized) {
    transform: none !important;
}


/* v1.5.7: force the floating player UI to appear after PJAX Lite playback starts. */
#ahaang-player.is-active,
body #ahaang-player.is-active {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    z-index: 99999 !important;
}
#ahaang-player.is-active.is-minimized,
body #ahaang-player.is-active.is-minimized {
    transform: none !important;
}
@media (max-width: 768px) {
    #ahaang-player.is-active,
    body #ahaang-player.is-active {
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        z-index: 99999 !important;
    }
}


/* v1.5.8: allow minimize to work after forced PJAX visibility rules. */
#ahaang-player.is-active.is-minimized,
body #ahaang-player.is-active.is-minimized {
    opacity: 1 !important;
    pointer-events: none !important;
    transform: translateY(calc(100% + 48px)) !important;
}
#ahaang-player.is-active:not(.is-minimized),
body #ahaang-player.is-active:not(.is-minimized) {
    transform: none !important;
}


/* v1.7.0 official integration */
body.ahaang-mehava-theme #ahaang-player,
body.ahaang-mehava-theme .ahaang-playlist-new,
body.ahaang-mehava-theme .ahaang-single-player-container,
body.ahaang-mehava-theme .ahaang-playlist-dropdown {
    font-family: inherit;
}

body.ahaang-official-api #ahaang-player {
    border-color: color-mix(in srgb, var(--ahaang-accent-2) 30%, transparent);
}

@media (prefers-reduced-motion: reduce) {
    #ahaang-player,
    .ahaang-player-restore,
    .playlist-track,
    .track-play,
    .track-download {
        transition: none !important;
    }
}
