/* Basic Initialization */
:root {
    --music-container-gap: 10px;
    --music-container-height: 65px;
    --music-button-toggle: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-music" viewBox="0 0 24 24"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg>');
    --music-button-close: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-x" viewBox="0 0 24 24"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>');
}

/* Toggle Button */
#music-player-toggle {
    position: fixed;
    right: var(--music-container-gap);
    bottom: var(--music-container-gap);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 101;
    transition: all 0.3s;
    opacity: .8;
    background-color: var(--md-accent-fg-color);
    mask-image: var(--music-button-toggle);
    -webkit-mask-image: var(--music-button-toggle);
    mask-size: 20px 20px;
    -webkit-mask-size: 20px 20px;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
}

#music-player-toggle:hover {
    opacity: 1;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    transform: scale(1.05);
}

#music-player-toggle.active {
    right: calc(var(--music-container-gap) + var(--music-container-gap) / 2);
    bottom: calc(var(--music-container-gap) + var(--music-container-height));
    width: 20px;
    height: 20px;
    opacity: .8;
    background-color: #666;
    mask-image: var(--music-button-close);
    -webkit-mask-image: var(--music-button-close);
    mask-size: 15px 15px;
    -webkit-mask-size: 15px 15px;
}

#music-player-toggle.active:hover {
    background-color: var(--md-accent-fg-color);
    opacity: 1;
}

/* Player Container */
#music-player-container {
    position: fixed;
    z-index: 100;
    transition: opacity 0.3s ease, transform 0.3s ease, bottom 0.3s ease;
    opacity: 0;
    pointer-events: none;
    transform: translateX(20px);

    /* Default APlayer width */
    width: 400px;
    max-width: calc(100vw - 100px);
}

#music-player-container.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

/* Hide APlayer to igrone fixed mode */
.aplayer-fixed {
    display: none !important;
}

/* ------------------------------ */
/*      Replace aplayer.min       */
/* ------------------------------ */
.aplayer {
    margin: 0 !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.3);

    display: flex;
    flex-direction: column-reverse;
}

[data-md-color-scheme="slate"] .aplayer {
    background: rgba(30, 30, 30, 0.55) !important;
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--md-default-fg-color);
}

.aplayer .aplayer-body {
    border-radius: 0 0 12px 12px;
}

/* info block */
.aplayer .aplayer-info {
    border-bottom: none !important;
}

[data-md-color-scheme="slate"] .aplayer .aplayer-info .aplayer-music .aplayer-title {
    color: var(--md-default-fg-color);
}

[data-md-color-scheme="slate"] .aplayer .aplayer-info .aplayer-music .aplayer-author {
    color: var(--md-default-fg-color--light);
}

/* lrc block */
.aplayer .aplayer-info .aplayer-lrc:before,
.aplayer .aplayer-info .aplayer-lrc:after {
    display: none !important;
}

/* controller block */
.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap{
    padding: 1px 0 !important;
}

.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar{
    height: 5px;
    border-radius: 10px;
}

.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded{
    height: 5px;
    border-radius: 10px;
}

.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played{
    height: 5px;
    border-radius: 10px;
}

.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb {
    margin-top: -2.5px;
}

.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played,
.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb,
.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar .aplayer-volume {
    background: var(--md-accent-fg-color) !important;
}

.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-back,
.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon-forward {
    display: inline-block !important;
}

.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path {
    fill: var(--md-accent-fg-color);
}

/* Playlist Options */
.aplayer .aplayer-list {
    border-radius: 12px 12px 0 0;
    margin-bottom: 0;
    border-bottom: none;
    max-height: 320px;
    overflow-y: auto;
}

[data-md-color-scheme="slate"] .aplayer .aplayer-list {
    border-color: rgba(255, 255, 255, 0.1);
}

.aplayer .aplayer-list:not(.aplayer-list-hide) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.aplayer .aplayer-list ol li.aplayer-list-light .aplayer-list-cur {
    background-color: var(--md-accent-fg-color) !important;
}

[data-md-color-scheme="slate"] .aplayer .aplayer-list ol li {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-bottom: none !important;
}

[data-md-color-scheme="slate"] .aplayer .aplayer-list ol li:hover {
    background: rgba(255, 255, 255, 0.1) !important;
}

[data-md-color-scheme="slate"] .aplayer .aplayer-list ol li.aplayer-list-light {
    background: rgba(255, 255, 255, 0.2) !important;
}

[data-md-color-scheme="slate"] .aplayer .aplayer-list ol::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.25) !important;
}

[data-md-color-scheme="slate"] .aplayer .aplayer-list ol::-webkit-scrollbar-thumb:hover {
    background-color: rgba(255, 255, 255, 0.4) !important;
}
