* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "SFUI";
}

html,
body {
    /* background-color: #0f172a; */
    background-color:#fff;
}

[v-cloak] {
    display: none;
}

.header {
    height: 80px;
    width: 100%;
    background-color: #fff;
    position: fixed;
    top: 0;
    z-index: 999;
    padding: 0 20px;
    box-shadow:0 3px 6px rgb(87 183 235 / 15%)
}

.header-box {
    height: 80px;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-box div {
    width: 40px;
}

.header-box span {
       font-size: 26px;
    color: #38affd;
    font-weight: bold;
}

.header-icon {
    width: 40px;

}

.main {
    /* max-width: 1200px; */
    margin: 80px auto;
}

        .slider {
            overflow: hidden;
            position: relative;
            /* box-shadow: 0 15px 50px rgba(0,0,0,0.5); */
        }
 
        .slides {
            display: flex;
            width: 600%; /* 6 images, 100% width for each */
            animation: slide 30s infinite; /* Total duration for 6 images */
        }

        .slides img {
            width: 100%; /* Each image takes 1/6 of the width */
            flex-shrink: 0;
            display: block;
            object-fit: cover;
        }
 
        @keyframes slide {
            0% { transform: translateX(0%); }
            13% { transform: translateX(0%); } /* First image stays */
            16.5% { transform: translateX(-16.6666%); }
            30% { transform: translateX(-16.6666%); }
            33.5% { transform: translateX(-33.3333%); }
            46.5% { transform: translateX(-33.3333%); }
            50% { transform: translateX(-50%); }
            63.5% { transform: translateX(-50%); }
            66.5% { transform: translateX(-66.6667%); }
            80% { transform: translateX(-66.6667%); }
            83.5% { transform: translateX(-83.3333%); }
            97% { transform: translateX(-83.3333%); }
            100% { transform: translateX(0%); } /* Restart */
        }
        
        /* 导航点容器 */
        .carousel-dots {
            position: absolute;
            bottom: 20px;
            left: 0;
            right: 0;
            display: flex;
            justify-content: center;
            gap: 10px;
            /* z-index: 10; */
        }
        
        /* 导航点样式 */
        .dot {
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.4);
            cursor: pointer;
            transition: all 0.3s ease;
            position: relative;
            border: 2px solid transparent;
            overflow: hidden;
        }
        
        /* 当前活动的导航点 */
        .dot.active {
            background: transparent;
            border-color: rgba(255, 255, 255, 0.8);
            transform: scale(1.2);
        }
        
        /* 进度指示器效果 */
        .dot::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: white;
            transform: translateX(-100%);
            animation: dotProgress 5s linear infinite;
        }
        
        /* 暂停时隐藏进度条 */
        .slides.paused ~ .carousel-dots .dot::before {
            animation: none;
        }
        
        .dot.active::before {
            background: linear-gradient(90deg, transparent, #ff7e5f, #feb47b);
            animation: dotProgress 5s linear infinite;
        }
        
        @keyframes dotProgress {
            0% { transform: translateX(-100%); }
            100% { transform: translateX(100%); }
        }
        

.recommend {
    padding: 0 10px;
    /* padding: 0 40px; */
}

.recommend h2 {
    font-size: 24px;
    color: #ffffff;
    /* color: #000; */
}

.recommend-box {
    margin: 20px 0;
    display: flex;
    justify-content: space-between;
}

.recommend-container {
    /* width: calc(100% - 120px); */
    display: flex;
    justify-content: space-between;
}

.recommend-content {
    /* box-shadow: 0px 2px 4px 0px 
        rgba(41, 42, 62, 0.3);
    border-radius: 20px;
    border: solid 1px #919192; */
    /* width: 350px; */
    /* height: 200px; */
    /* padding: 50px 20px; */
}

.info {
    display: flex;
    width: 100%;
}

.info img {
    width: 100px;
    height: 100px;
    border-radius: 20px;
    margin-right: 10px;
}

.text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
}

.info-name {
    font-size: 20px;
    color: #22bbff;
}

.info-play {
    color: #ffffff;
}

.info-button {
    width: 70px;
    height: 30px;
    background-color: #22bbff;
    border-radius: 5px;
    line-height: 30px;
    text-align: center;
    margin-left: auto;
}

.category {
    border: solid 1px #22bbff;
    display: flex;
}

.mask {
    position: fixed;
    top: 80px;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(33, 33, 33, 0.5);
}

.sidebar {
    border: solid 1px #22bbff;
    width: 365px;
    position: fixed;
    top: 80px;
    left: 0;
    height: calc(100% - 80px);
    overflow: auto;
    background-color: #191919;
}

.sidebar-title {
    height: 80px;
    font-size: 24px;
    color: #ffffff;
    line-height: 80px;
    padding-left: 40px;
}

.sidebar-item {
    height: 80px;
    font-size: 18px;
    color: #ffffff;
    display: flex;
    align-items: center;
    margin: 20px 0;
    background-color: #1d1d1f;
}

.sidebar-item:hover {
    background-color: #22bbff;
    color: #191919;
    transition: none;
}

.sidebar-item img {
    margin: 0 20px 0 40px;
    width: 40px;
    height: 40px;
}

.box {
    width: 100%;
    padding: 0 10px;
    /* padding: 0 40px; */
    /* border: solid 1px #22bbff; */
    margin: 40px 0;
}

.title {
    /* border-bottom: solid 1px #22bbff; */
    height: 80px;
    font-size: 24px;
    font-weight: bold;
    color: #3f4140;
    /* color: #000; */
    line-height: 80px;
    text-align: left;
}

.container {
    /* padding: 30px; */


    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.content {
    width: 300px;
    margin-bottom: 30px;
    position: relative;

    /* margin-right: 30px; */
}

.content img {
    width: 300px;
    height: 300px;
    border-radius: .5rem;
}
.desc{
        text-align: left;
    font-size: 12px;
    overflow: hidden;
    word-wrap: break-word;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #4e54c1;
}
.name {
        text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: bold;
    width: 12rem;
    display: block;
    overflow: hidden;
    /* font-size: 18px;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    padding-left: 2%;
    padding-right: 2%;
    background: #000c;
    width: 100%;
    color: #fff;
    border-radius: .5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    overflow: hidden;
    text-overflow: ellipsis; */
}
.tit{
        font-size: 16px;
    display: flex;
    justify-content: space-between;
    color: #444;
    height: 2rem;
    line-height: 2rem;
    padding: 0 0.2rem;
    overflow: hidden;
    margin-top: 0.25rem;
}
.play {
    /* color: #ffffff; */
        padding: 0px 9px;
    color: #fff;
    background: #38affd;
    height: 24px;
    margin-top: 4px;
    overflow: hidden;
    line-height: 22px;
    border-radius: 7px;
    margin-left: 4px;
    width: 70px;
    text-align: center;
}



.share {
    position: fixed;
    width: 150px;
    height: calc(100% - 80px);
    top: 80px;
    right: 0;
    background-color: #191919;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

.sidebar-icon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 24px;
    font-weight: bold;
    margin: 20px 0;
}


.footer {
    height: 120px;
    background-color: #0f172a;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    color: #ffffff;
}

.footer a {
    color: #ffffff;
}



@media screen and (max-width: 768px) {

    .recommend-icon {
        width: 16px;
        height: 80px;
        margin: auto 2px;
    }

    .recommend-container {
        width: calc(100% - 40px);
        /* overflow: auto; */
        display: flex;
        flex-wrap: wrap;
    }

    .recommend-content {
        padding: 5px;
        width: 25%;
        animation: bounce 1.4s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        /* width: 49%; */
        /* height: 140px;
        display: flex; */

    }

    @keyframes bounce {

        0%,
        100% {
            transform: rotate(0deg) scale(1);
        }

        25% {
            transform: rotate(2deg) scale(.95);
        }

        50% {
            transform: rotate(0deg) scale(1);
        }

        75% {
            transform: rotate(-2deg) scale(.95);
        }
    }

    /* .recommend-content:nth-child(n+3) {
        display: none;
    } */
    .recommend-content img {
        width: 80px;
        height: 80px;
        margin: auto 0;
        margin-right: 5px;

    }

    .info {
        margin: auto 0;
    }

    .info-name {
        font-size: 12px;
    }

    .info-play {
        font-size: 12px;
    }

    .info-button {
        width: 55px;
        margin: 0;
    }

    /* .sidebar {
        width: 140px;
    }
    .sidebar-title {
        padding-left: 10px;
    }


    .sidebar-item img {
        margin: 5px;
    } */
    .box {
        margin: 30px 5px;
        width: calc(100% - 10px)
    }

    .container {
        padding:0 10px;
    }

    .content {
        width: 48%;
    }

    .content p {
        font-size: 14px;
    }

    .content img {
      width: 10rem;
        height: 6rem;
    }

}