  /*  */
        .play-icon {
            width: 32px;
            height: 32px;
            background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 6.35 6.35"><path d="m4.4979 3.175-2.1167 1.5875v-3.175z" stroke-width=".70201"/></svg>') no-repeat center;
            background-size: contain;
            display: inline-block;
        }

        .stop-icon {
            width: 32px;
            height: 32px;
            background: url('data:image/svg+xml;utf8,<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg"><path d="m1.8521 1.5875v3.175h0.92604v-3.175zm1.7198 0v3.175h0.92604v-3.175z" stroke-width=".24153"/></svg>') no-repeat center;
            background-size: contain;
            display: inline-block;
        }

        .error-icon {
            width: 32px;
            height: 32px;
            background: url('data:image/svg+xml;utf8,<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg"><path transform="scale(.26458)" d="m12 3.5a8.4993 8.4993 0 0 0-8.5 8.5 8.4993 8.4993 0 0 0 8.5 8.5 8.4993 8.4993 0 0 0 8.5-8.5 8.4993 8.4993 0 0 0-8.5-8.5zm-1.4062 3.5h3v6h-3v-6zm0 8h3v2h-3v-2z"/></svg>') no-repeat center;
            background-size: contain;
            display: inline-block;
        }

        :focus:not(.focus-visible) {
            outline: none;
        }

        .controls {
            width: inherit;
            height: inherit;
            box-sizing: border-box;
            display: flex;
            flex-direction: row;
            position: relative;
            overflow: hidden;
            align-items: center;
            border-radius: 100px;
            background: #f2f5f6;
            padding: 0 0.25em;
            user-select: none;
        }

        .controls>* {
            margin: 0.8em 0.45em;
        }

        .controls input,
        .controls button {
            cursor: pointer;
        }

        .controls input:disabled,
        .controls button:disabled {
            cursor: inherit;
        }

        .controls button {
            text-align: center;
            background: rgba(204, 204, 204, 0);
            border: none;
            width: 32px;
            height: 32px;
            border-radius: 100%;
            transition: background-color 0.25s ease 0s;
            padding: 0;
        }

        .controls button:not(:disabled):hover {
            background: rgba(204, 204, 204, 0.3);
        }

        .controls button:not(:disabled):active {
            background: rgba(204, 204, 204, 0.6);
        }

        .controls button .icon {
            display: none;
        }

        .controls button .icon,
        .controls button .icon svg {
            vertical-align: middle;
        }

        .controls button .icon svg {
            fill: currentColor;
        }

        .controls .seek-bar {
            flex: 1;
            min-width: 0;
            margin-right: 1.1em;
            background: transparent;
        }

        .controls .seek-bar::-moz-range-track {
            background-color: #555;
        }

        .controls.stopped .play-icon,
        .controls.playing .stop-icon,
        .controls.error .error-icon {
            display: inherit;
        }

        .controls.frozen>div,
        .controls>button:disabled .icon {
            opacity: 0.5;
        }

        .controls .overlay {
            z-index: 0;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: 0;
            box-sizing: border-box;
            display: none;
            opacity: 1;
        }

        .controls.loading .loading-overlay {
            display: block;
            background: linear-gradient(110deg, #92929200 5%, #92929288 25%, #92929200 45%);
            background-size: 250% 100%;
            background-repeat: repeat-y;
            animation: shimmer 1.5s linear infinite;
        }

        @keyframes shimmer {
            0% {
                background-position: 125% 0;
            }

            100% {
                background-position: -200% 0;
            }
        }