footer {
    display: inline-flex;
    position: fixed;

    width: 100%;
    height: 56px;
    left: 0;
    bottom: -1px;

    justify-content: right;
    /* align-items: center; */

    padding: 4px;

    background-color: #111;
    color: whitesmoke;

    user-select: none;
}

.music-thumbnail {
    height: 100%;
    min-width: 256px;

    display: flex;
    align-items: center;

    gap: 8px;

    & #mini-thumbnail {
        height: 100%;
        aspect-ratio: 1;
        border: #f2f2f2 1px solid;
    }

    & #music-title {
        cursor: pointer;

        font-size: 16px;
        overflow: hidden;
    }
}

#player-controls {
    width: 100%;
    max-width: 100%;

    display: flex;
    align-items: center;
    gap: 8px;

    justify-content: space-between;

    gap: 8px;

    & #play-button {
        & .fa-pause {
            display: none;
        }

        &.button-playing {
            & .fa-pause {
                display: block;
            }

            & .fa-play {
                display: none;
            }
        }
    }

    & #loop-button {
        & i {
            position: relative;
        }

        &[data-loop="loop-none"] i {
            opacity: 0.5;
        }

        &[data-loop="loop-one"] i::after {
            content: "";
            position: absolute;
            top: -5px;
            right: -5px;
            width: 8px;
            height: 8px;
            background-color: orangered;
            border-radius: 50%;
        }
    }

    & #shuffle-button.shuffle-off i {
        opacity: 0.5;
    }

    & button {
        display: inline-block;

        align-items: center;

        height: 100%;
        aspect-ratio: 1;

        font-size: 16px;
        font-weight: bold;
        color: #fff;
        background: #111;

        border-radius: 8px;
        /* box-shadow: 0 4px 6px rgba(0, 0, 0, 0.6); */

        cursor: pointer;
        /* transition: all 0.3s ease-in-out; */

        border: none;

        font-family: "Noto Sans JP", Arial, sans-serif;

        &:hover {
            background: #444;
        }

        &:disabled {
            background: #ccc;
            color: #666;
            cursor: not-allowed;
            box-shadow: none;
        }
    }
}

input[type="range"] {
    flex: 1;

    /* デフォルトをOFF */
    /* appearance: none; */

    height: 5px;
    background: #555;
    border-radius: 5px;
    cursor: pointer;
}

.volume-control {
    min-width: 160px;

    display: flex;
    justify-content: right;
    align-items: center;
    color: #fff;

    & .volume-label {
        font-size: 16px;
        margin: 10px;
    }

    & #volume {
        width: 100%;
        min-width: 80px;
    }
}
