@font-face {
    src: url(fonts/PingFangSC-Regular.woff2);
    font-family: "PingFangSC-Regular";
}

@font-face {
    src: url(fonts/sf-pro-display_regular.woff2);
    font-family: "SFPro-Regular";
}

@font-face {
    src: url(fonts/PingFangSC-Semibold.woff2);
    font-family: "PingFangSC-Semibold";
}

@font-face {
    src: url(fonts/sf-pro-display_semibold.woff2);
    font-family: "SFPro-Semibold";
}

* {
    font-family: "SFPro-Regular", "PingFangSC-Regular";
    -webkit-user-select: none;
    user-select: none;
    --color1: rgba(232, 232, 232, 0.9);
    --color2: rgba(197, 197, 199, 0.9);
    --color3: rgba(255, 255, 255, 0.9);
    --color4: rgba(150, 150, 150, 0.9);
    --color5: rgba(210, 210, 210, 0.9);
    --color1-rgba: rgba(232, 232, 232, 0);
    --color2-rgba: rgba(197, 197, 199, 0);
    --color3-rgba: rgba(255, 255, 255, 0);
    --color4-rgba: rgba(150, 150, 150, 0);
    --color5-rgba: rgba(210, 210, 210, 0);
    --type-time: 0;
}

body {
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    /* -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px); */
    z-index: 2;
    margin: 0;
    background: #e8e8e8;
}

.main {
    position: fixed;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    transition: scale 0.3s ease;
    margin-right: 20%;
    margin-left: -5%;
}

.leftcontent {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* padding-left: 20%; */
}

.svgcontainer {
    width: 320px;
    height: 320px;
    background: #e8e8e8;
    border-radius: 10px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 20px #0005;
    transition: transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    margin-top: 28px;
    transform: scale(1);
    background: url(./default.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.svgcontainer:hover {
    transform: scale(1.1);
}

.svg {
    width: 100%;
    height: 100%;
    background: #e8e8e8;
}

.svg svg {
    width: 100%;
    height: 100%;
}

input[type="file"] {
    display: none;
}

.processbar {
    width: 325px;
    background: #fff9;
    height: 8px;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 0 3px #0009;
}

.process {
    width: 0%;
    height: 100%;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 0 3px #0009;
}

.time {
    margin-top: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 325px;
    color: #fff;
    text-shadow: 0 0 3px #0009;
}

p {
    margin: 0;
}

.name {
    -webkit-user-select: auto;
    user-select: auto;
}

.controls, .controls > * {
    display: flex;
    width: 32px;
    height: 28px;
}

.controls > .play {
    display: block;
    transition: transform 0.1s ease;
}

.controls > .pause {
    display: none;
    transition: transform 0.1s ease;
}

.rightcontent {
    padding-left: 10%;
    margin-right: 10%;
}

.lyricscontainer {
    width: 160%;
    height: 100vh;
    position: relative;
    z-index: 2;
}

.lyrics {
    transform: translateY(250%);
    max-width: 100%;
    font-size: 24px;
    line-height: 40px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.lyrics p {
    position: relative;
    margin: 0;
    margin: 4% 0;
    will-change: opacity, font-weight, margin-left, margin-top, margin-bottom, transform;
    transition: opacity 0.75s cubic-bezier(0.25, 0.8, 0.25, 1),
        /* font-size 0.75s cubic-bezier(0.25, 0.8, 0.25, 1), */
        font-weight 0.75s cubic-bezier(0.25, 0.8, 0.25, 1),
        margin-left 0.75s cubic-bezier(0.25, 0.8, 0.25, 1),
        margin-top 0.6s cubic-bezier(.01,1.22,.97,1.12),
        margin-bottom 1s cubic-bezier(0.25, 0.8, 0.25, 1),
        transform 0.75s cubic-bezier(0.25, 0.8, 0.25, 1);
    width: 100%;
    font-weight: normal;
    font-size: inherit;
    margin-top: 4%;
    font-size: 36px;
    text-shadow: -1px 1px 20px #0009, 0 1px 5px #0009;
    align-self: flex-start;
    transform: matrix(1, 0, 0, 1, 0, 0);
    transform-origin: 0px 50%;
    word-wrap: break-word;
    white-space: normal;
    color: #fff;
    opacity: 0.3;
    -webkit-background-clip: text;
    background-clip: text;
    z-index: 2;
}

.lyrics p.highlight {
    margin: 5% 0;
    font-weight: bold;
    filter: none;
    margin-top: 4%;
    opacity: 0.9;
    transform: matrix(1.2, 0, 0, 1.2, 0, 0);
    background-size: 100% 100%, 100% 100%;
    transform-origin: 0px 50%;
    word-wrap: break-word;
    white-space: normal;
    font-family: "SFPro-Semibold", "PingFangSC-Semibold";
}

/* .lyrics p::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    color: #fff;
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    transition: clip-path var(--type-time) linear;
}

.lyrics p.highlight::after {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
} */

.background {
    margin: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -5;
    background-color: var(--background);
    background-image:
        radial-gradient(closest-side, var(--color1), var(--color1-rgba)),
        radial-gradient(closest-side, var(--color2), var(--color2-rgba)),
        radial-gradient(closest-side, var(--color3), var(--color3-rgba)),
        radial-gradient(closest-side, var(--color4), var(--color4-rgba)),
        radial-gradient(closest-side, var(--color5), var(--color5-rgba));
    background-size:
        130vmax 130vmax,
        80vmax 80vmax,
        90vmax 90vmax,
        110vmax 110vmax,
        90vmax 90vmax;
    background-position:
        -80vmax -80vmax,
        60vmax -30vmax,
        10vmax 10vmax,
        -30vmax -10vmax,
        50vmax 50vmax;
    background-repeat: no-repeat;
    animation: 20s movement linear infinite;
    background-attachment: fixed;
    filter: brightness(0.8);
}

@keyframes movement {

    0%,
    100% {
        background-size:
            130vmax 130vmax,
            80vmax 80vmax,
            90vmax 90vmax,
            110vmax 110vmax,
            90vmax 90vmax;
        background-position:
            -80vmax -80vmax,
            60vmax -30vmax,
            10vmax 10vmax,
            -30vmax -10vmax,
            50vmax 50vmax;
    }

    25% {
        background-size:
            100vmax 100vmax,
            90vmax 90vmax,
            100vmax 100vmax,
            90vmax 90vmax,
            60vmax 60vmax;
        background-position:
            -60vmax -90vmax,
            50vmax -40vmax,
            0vmax -20vmax,
            -40vmax -20vmax,
            40vmax 60vmax;
    }

    50% {
        background-size:
            80vmax 80vmax,
            110vmax 110vmax,
            80vmax 80vmax,
            60vmax 60vmax,
            80vmax 80vmax;
        background-position:
            -50vmax -70vmax,
            40vmax -30vmax,
            10vmax 0vmax,
            20vmax 10vmax,
            30vmax 70vmax;
    }

    75% {
        background-size:
            90vmax 90vmax,
            90vmax 90vmax,
            100vmax 100vmax,
            90vmax 90vmax,
            70vmax 70vmax;
        background-position:
            -50vmax -40vmax,
            50vmax -30vmax,
            20vmax 0vmax,
            -10vmax 10vmax,
            40vmax 60vmax;
    }
}

.noTransition, .noTransition * {
    transition: none !important;
}