.carousel{position:relative;margin:0 auto;overflow:hidden}.carousel-inner{display:flex;transition:transform .5s ease-in-out}.carousel-item{min-width:100%;box-sizing:border-box}.carousel-item img{width:100%;display:block}.carousel-control{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.5);color:white;border:0;padding:10px;cursor:pointer}.carousel-control.prev{left:0}.carousel-control.next{right:0}@media screen and (max-width:1200px){.search-box{display:none}.gameItem{margin:2vw!important;width:15vw!important}.gameItem img{height:15vw!important}.sven_aside{padding-right:0!important}}.overflow-hidden{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.btn-watch{display:inline-block;padding:2px 15px;background-color:#e67700;color:white;text-decoration:none;border-radius:10px;font-size:16px;font-weight:bold;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,0.1);transition:background-color .3s ease}.sven_match__item{padding:3px;border-bottom:1px solid gray!important;margin:3px 0}@media screen and (max-width:1200px){.sven_match__item{font-size:14px;padding:10px 0;border-bottom:1px solid gray!important;margin:10px 0}}@keyframes spring-animation{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}#weather-ticker{width:1200px;height:40px;line-height:40px;font-size:14px;color:#222;background:#fffaf0;border-bottom:1px solid #f0e6c8;overflow:hidden;position:relative;z-index:1200;-webkit-tap-highlight-color:transparent}#weather-ticker .wt-viewport{height:100%;display:block;overflow:hidden;position:relative}#weather-ticker .wt-track{display:flex;align-items:center;height:100%;white-space:nowrap;will-change:transform}#weather-ticker .wt-item{display:inline-block;padding:0 16px;white-space:nowrap;flex:0 0 auto}@keyframes wt-marquee{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--marquee-distance,100%)))}}#weather-ticker .animate{animation-name:wt-marquee;animation-timing-function:linear;animation-iteration-count:infinite;animation-play-state:running}#weather-ticker .paused{animation-play-state:paused!important}#weather-ticker .no-anim{animation:none!important;justify-content:flex-start;padding-left:12px}@media(max-width:420px){#weather-ticker{height:36px;line-height:36px;font-size:13px}#weather-ticker .wt-item{padding:0 10px}}
.carousel-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.carousel-slides {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.carousel-slide {
    flex: 0 0 100%;
    box-sizing: border-box;
    /* 关键：固定高度 260px */
    height: 260px;
}

/* 关键：图片样式 - 固定高度，居中裁剪 */
.carousel-slide img {
    width: 100%;
    height: 100%;
    display: block;
    /* object-fit: cover;  图片比例不变，填满容器，超出部分裁剪 */
    object-position: center;  /* 居中显示 */
}

/* 上一页/下一页按钮 */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    cursor: pointer;
    padding: 10px 15px;
    font-size: 18px;
    z-index: 10;
}

.prev {
    left: 10px;
}

.next {
    right: 10px;
}

/* 指示点容器 */
.dots-container {
    text-align: center;
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    z-index: 10;
}

.dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
}

.dot.active {
    background-color: var(--contrast-color);
    /* border: 1px solid #333; */
    width: 12px;
    height: 12px;
}

/* 移动端适配 - 高度可以稍微调低一点 */
@media (max-width: 768px) {
    .carousel-slide {
        height: 200px;
    }
}
.sven_match_card {
            position: relative;
            border-top: 0;
            background: #ffffff;
            box-shadow: 0 2px 6px 0 rgb(0 0 0 / 10%);
        }

        /* 顶部流动光带 */
        .sven_match_card::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            border-radius: 5px 5px 0 0;
            background: linear-gradient(90deg, #0055ff, #00d4ff, #7a2cff, #00d4ff, #0055ff);
            background-size: 220% 100%;
            animation: techLineFlow 7s linear infinite;
            pointer-events: none;
            z-index: 2;
        }

        @keyframes techLineFlow {
            0% { background-position: 0% 50%; }
            100% { background-position: 220% 50%; }
        }

        /* 每一天的赛事分组 */
        .sven_match__date {
            position: relative;
            margin-top: 8px;
            padding: 12px 15px 10px;
            border-bottom: 0;
            color: #0b3550;
            letter-spacing: .5px;
        }

        .sven_match__date::after {
            content: "";
            position: absolute;
            left: 15px;
            right: 15px;
            bottom: 0;
            height: 1px;
            background: linear-gradient(90deg, rgba(0, 212, 255, .85), rgba(0, 212, 255, .08) 70%, transparent);
        }

        .sven_match__list.match_ul {
            padding: 12px 15px 16px;
        }

        /* 单场赛事：科技边框卡片 */
        .sven_match__item__box {
            position: relative;
            margin: 10px 0;
            border: 1px solid transparent;
            border-radius: 7px;
            background:
                linear-gradient(#ffffff, #ffffff) padding-box,
                linear-gradient(135deg, rgba(0, 212, 255, .9), rgba(0, 90, 255, .16) 35%, rgba(101, 2, 167, .14) 65%, rgba(0, 212, 255, .9)) border-box;
            box-shadow:
                0 0 12px rgba(0, 212, 255, .08),
                0 4px 14px rgba(0, 45, 80, .06),
                inset 0 0 18px rgba(0, 212, 255, .035);
            overflow: hidden;
            transition: transform .28s ease, box-shadow .28s ease;
        }

        /* 卡片内部的淡蓝光晕 */
        .sven_match__item__box::before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background:
                linear-gradient(90deg, rgba(0, 212, 255, .10), transparent 24%, transparent 76%, rgba(0, 212, 255, .10)),
                linear-gradient(180deg, rgba(0, 212, 255, .055), transparent 42%);
            pointer-events: none;
            z-index: 0;
        }

        /* 四角科技感描边 */
        .sven_match__item__box::after {
            content: "";
            position: absolute;
            top: 4px;
            right: 4px;
            bottom: 4px;
            left: 4px;
            border-radius: 5px;
            pointer-events: none;
            opacity: .78;
            background:
                linear-gradient(#00d4ff, #00d4ff) left top / 15px 2px no-repeat,
                linear-gradient(#00d4ff, #00d4ff) left top / 2px 15px no-repeat,
                linear-gradient(#00d4ff, #00d4ff) right top / 15px 2px no-repeat,
                linear-gradient(#00d4ff, #00d4ff) right top / 2px 15px no-repeat,
                linear-gradient(#00d4ff, #00d4ff) left bottom / 15px 2px no-repeat,
                linear-gradient(#00d4ff, #00d4ff) left bottom / 2px 15px no-repeat,
                linear-gradient(#00d4ff, #00d4ff) right bottom / 15px 2px no-repeat,
                linear-gradient(#00d4ff, #00d4ff) right bottom / 2px 15px no-repeat;
            z-index: 2;
        }

        .sven_match__item__box:hover {
            transform: translateY(-2px);
            box-shadow:
                0 0 20px rgba(0, 212, 255, .24),
                0 8px 22px rgba(0, 45, 80, .10),
                inset 0 0 24px rgba(0, 212, 255, .06);
        }

        /* 覆盖原灰色下边框，内部不再重复画线 */
        .sven_match__item__box > .sven_match__item {
            position: relative;
            z-index: 1;
            margin: 0 !important;
            padding: 12px 14px !important;
            border-bottom: 0 !important;
        }

        /* 时间：数字科技感 */
        .sven_match__item__date {
            font-family: "Consolas", "DIN Alternate", "Microsoft YaHei", monospace;
            font-weight: 700;
            color: #07506e;
            letter-spacing: .6px;
            white-space: nowrap;
        }

        .sven_match__item__date::before {
            content: "";
            display: inline-block;
            width: 6px;
            height: 6px;
            margin-right: 6px;
            border-radius: 50%;
            background: #00d4ff;
            box-shadow: 0 0 7px #00d4ff;
            vertical-align: 1px;
        }

        /* 联赛标签 */
        .sven_match__item__league a {
            display: inline-block;
            max-width: 100%;
            padding: 2px 8px;
            border: 1px solid rgba(0, 170, 255, .32);
            border-radius: 3px;
            background: rgba(0, 212, 255, .07);
            color: #0a6684;
            font-size: 12px;
            line-height: 18px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            vertical-align: middle;
        }

        .sven_match__item__league a:hover {
            border-color: rgba(0, 200, 255, .7);
            background: rgba(0, 212, 255, .14);
            color: #004d66;
        }

        /* 状态 + 高清线路按钮并排 */
        .sven_match__item__button {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 8px;
        }

        .sven_match__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: auto;
            min-width: 100px;
            padding: 6px 12px;
            box-sizing: border-box;
            border: 1px solid rgba(0, 212, 255, .32);
            border-radius: 4px;
            background: rgba(0, 212, 255, .05);
            white-space: nowrap;
            transition: border-color .25s ease, box-shadow .25s ease;
        }

        .sven_match__btn:hover {
            border-color: rgba(0, 200, 255, .7);
            box-shadow: 0 0 10px rgba(0, 212, 255, .18);
        }

        /* 高清线路按钮 */
        .sven_hd_line_btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            flex: 0 0 auto;
            padding: 6px 12px;
            border: 1px solid rgba(0, 212, 255, .6);
            border-radius: 4px;
            background: linear-gradient(135deg, #0055ff, #00c8ff);
            box-shadow: 0 0 10px rgba(0, 180, 255, .28);
            color: #ffffff !important;
            font-size: 14px;
            line-height: 1;
            white-space: nowrap;
            transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
        }

        .sven_hd_line_btn::before {
            content: "";
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #ffffff;
            box-shadow: 0 0 6px rgba(255, 255, 255, .95);
        }

        .sven_hd_line_btn:hover {
            transform: translateY(-1px);
            filter: brightness(1.08);
            box-shadow: 0 0 18px rgba(0, 212, 255, .55);
            color: #ffffff !important;
        }

        /* 桌面端给右侧“状态 + 高清线路”多留一点空间 */
        @media screen and (min-width: 1201px) {
            .sven_match__item__date {
                width: 8%;
            }

            .sven_match__item__league {
                width: 8%;
            }

            .sven_match_link {
                width: 84%;
            }
        }

        @media screen and (max-width: 1200px) {
            .sven_match_card {
                padding: 8px;
            }

            .sven_match__date {
                margin-top: 4px;
                padding: 8px 4px 7px;
            }

            .sven_match__date::after {
                left: 4px;
                right: 4px;
            }

            .sven_match__list.match_ul {
                padding: 8px 0 10px;
            }

            .sven_match__item__box {
                margin: 8px 0;
                border-radius: 6px;
            }

            .sven_match__item__box::after {
                top: 3px;
                right: 3px;
                bottom: 3px;
                left: 3px;
            }

            .sven_match__item__box > .sven_match__item {
                padding: 10px 8px !important;
                box-sizing: border-box;
            }

            /* 重新分配手机端三栏宽度，给右侧按钮留出空间 */
            .sven_match__item__date {
                width: 12% !important;
                padding-left: 0 !important;
                font-size: 12px;
            }

            .sven_match__item__league {
                width: 15% !important;
            }

            .sven_match_link {
                width: 73% !important;
                min-width: 0;
            }

            .sven_team__home,
            .sven_team__away {
                width: 90px;
            }

            .sven_match__item__date::before {
                width: 5px;
                height: 5px;
                margin-right: 4px;
            }

            .sven_match__item__league a {
                padding: 1px 5px;
                font-size: 11px;
            }

            /* 手机端按钮上下排列，避免挤压赛事名称 */
            .sven_match__item__button {
                flex-direction: column;
                align-items: flex-end;
                gap: 4px;
            }

            .sven_match__btn {
                min-width: 92px;
                padding: 5px 8px;
                font-size: 13px;
            }

            .sven_hd_line_btn {
                padding: 4px 8px;
                font-size: 12px;
            }
        }