.lineup-container {
    padding: 0 74px;
    margin-top: 28px;
    font-family: MyriadPro, serif;
}

/* ---------- 事件相关样式 ---------- */
.lineup-container .incidents-container {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

/*进球事件*/
.lineup-container .incidents-container .incidents-goals {
    position: absolute;
    background: center / contain no-repeat url(/static/index/img/room/technology/football/1.svg);
}

/*红黄牌事件*/
.lineup-container .incidents-container .incidents-card-list {
    position: absolute;
}

.lineup-container .incidents-container .incidents-card-item {
    position: absolute;
}

.lineup-container .incidents-container .incidents-card-item:nth-child(2) {
    top: -5px;
    left: -5px;
}

.lineup-container .incidents-container .incidents-card-list .incidents-yellow-card {
    background: center / contain no-repeat url(/static/index/img/room/technology/football/3.svg);
}

.lineup-container .incidents-container .incidents-card-list .incidents-red-card {
    background: center / contain no-repeat url(/static/index/img/room/technology/football/4.svg);
}

/*换人事件*/
.lineup-container .incidents-container .incidents-substitution-in {
    position: absolute;
    background: center / contain no-repeat url(/static/index/img/room/lineup/substitution-in.svg);
}

.lineup-container .incidents-container .incidents-substitution-out {
    position: absolute;
    background: center / contain no-repeat url(/static/index/img/room/lineup/substitute-out.svg);
}

/* ---------- 板块标题 ----------*/
/* 未使用的样式 - 已注释
.lineup-section-title {
    margin: 48px 0 15px;
    font-size: 38px;
    font-weight: 600;
    line-height: 100%;
}

.lineup-section-team-title {
    margin: 18px 0;
    height: 46px;
    width: 100%;
    line-height: 46px;
    font-size: 38px;
    font-weight: 600;
    color: #000;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lineup-section-team-title.away-team-title {
    color: #818181;
}
*/

/* ---------- 阵容图 ----------*/
.lineup-chart-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
}

/*阵型信息*/
.lineup-chart-container .formation-container {
    width: 100%;
    height: 24px;
    display: flex;
    justify-content: space-between;
}

.lineup-chart-container .formation-detail {
    font-size: 12px;
}

/*阵容图详细*/
.lineup-chart-container .lineup-chart-content {
    width: 100%;
    position: relative;
}

/*阵容背景图*/
.lineup-chart-content .lineup-chart-bg-img {
    width: 100%;
}

/*阵容球员信息*/
.lineup-chart-content .lineup-player-container {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}

.lineup-chart-content .lineup-player-info {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 90px;
}

.lineup-chart-content .lineup-player-info .shirt-number {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    font-size: 45px;
    line-height: 100px;
    font-weight: 600;
    text-align: center;
}

.lineup-chart-content .lineup-player-info.home .shirt-number {
    background: #000;
    color: #fff;
}

.lineup-chart-content .lineup-player-info.away .shirt-number {
    background: #fff;
    color: #000;
}

.lineup-chart-content .lineup-player-info .player-name {
    text-align: center;
    max-width: 110px;
    overflow: hidden;
    /*text-overflow: ellipsis;*/
    /*white-space: nowrap;*/
    font-size: 21px;
    font-weight: 600;
    line-height: 24px;
    margin-top: 4px;
    color: #fff;
}

/*进球事件*/
.lineup-chart-content .incidents-container .incidents-goals {
    width: 32px;
    height: 32px;
    top: 18px;
    left: -16px;
}

.lineup-chart-content .incidents-container .incidents-goals p.num {
    top: 15px;
    left: -14px;
    width: 21px;
    height: 21px;
    position: absolute;
    border-radius: 50%;
    background: #E42800;
    text-align: center;
    line-height: 21px;
    font-weight: 600;
    font-size: 17px;
    color: #fff;
}

/*红黄牌事件*/
.lineup-chart-content .incidents-container .incidents-card-list {
    right: 20px;
    top: 0;
}

.lineup-chart-content .incidents-container .incidents-card-item {
    width: 20px;
    height: 30px;
}

.lineup-chart-content .incidents-container .incidents-card-item:nth-child(2) {
    top: -5px;
    left: -5px;
}

/*首发球员换下*/
.lineup-chart-content .incidents-container .incidents-substitution-out {
    width: 33px;
    height: 33px;
    right: 0;
    top: 60px;
}

/*---------- 换人板块 ----------*/
/* 未使用的样式 - 已注释（现在使用 team-substitution-container）
.lineup-substitution-container {
    width: 100%;
}

.lineup-substitution-container .lineup-section-team-title {
    margin: 0;
    line-height: 46px;
}

.lineup-substitution-container .substitution-team-card {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 31px;
}

.lineup-substitution-container .substitution-team-card-half {
    width: 100%;
    min-width: 0;
    border-radius: 22px;
    border: 3px solid #C8C8C8;
    background: #F5F5F5;
    padding: 36px 26px;
}

.lineup-substitution-container .substitution-team-card-half.substitution-team-away {
    background: #fff;
}

.lineup-substitution-container .substitution-list {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 70px;
    margin-top: 14px;
    gap: 15px;
}

换人卡片信息
.lineup-substitution-container .substitution-card {
    display: grid;
    grid-gap: 31px;
    grid-template-columns: repeat(2, 1fr);
    grid-row-gap: 15px;
    color: #3C3C3C;
}

.lineup-substitution-container .substitution-card-half {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    gap: 11px;
}

.lineup-substitution-container .substitution-card-half .substitution-time {
    font-size: 25px;
    font-weight: 600;
    line-height: 100%;
}

.lineup-substitution-container .substitution-card-half .substitution-player {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    gap: 10px;
}

.lineup-substitution-container .substitution-card-half .substitution-player img.icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.lineup-substitution-container .substitution-card-half .substitution-player-info {
    display: flex;
    align-content: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

.lineup-substitution-container .substitution-card-half .substitution-player-info .player-name {
    font-size: 21px;
    line-height: 30px;
    font-weight: 400;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

当前字体好像不支持粗体设置
.lineup-substitution-container .substitution-card-half .substitution-player-out .player-name {
    font-weight: 600;
}
*/

/*---------- 球员卡片样式 ----------*/
/* 未使用的样式 - 已注释（现在使用 team-substitute-container, team-injury-penalty-container, team-coach-container）
.lineup-substitute-container,
.lineup-injuries-container,
.lineup-coach-container {
    width: 100%;
}

.lineup-substitute-container .substitute-team-card,
.lineup-injuries-container .injuries-team-card,
.lineup-coach-container .coach-team-card {
    width: 100%;
    display: grid;
    grid-gap: 31px;
    grid-template-columns: repeat(2, 1fr);
}

.lineup-substitute-container .substitute-team-card .substitute-team-card-half,
.lineup-injuries-container .injuries-team-card .injuries-team-card-half,
.lineup-coach-container .coach-team-card .coach-team-card-half {
    min-width: 0;
}

使用grid进行4例布局
.lineup-substitute-container .substitute-list,
.lineup-injuries-container .injuries-list,
.lineup-coach-container .coach-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 88px;
    grid-row-gap: 16px;
    grid-column-gap: 31px;
}

.lineup-substitute-container .substitute-item,
.lineup-injuries-container .injuries-item,
.lineup-coach-container .coach-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    padding: 0 26px;
    border: 1px solid #C8C8C8;
    border-radius: 8px;
    background: #fff;
    color: #000;
    gap: 11px;
}

.lineup-substitute-container .substitute-item .substitute-info .substitute-shirt-number,
.lineup-injuries-container .injuries-item .injuries-shirt-number {
    width: 37px;
    height: 37px;
    border-radius: 50%;
    border: 1px solid #000;
    font-size: 22px;
    line-height: 37px;
    text-align: center;
    flex: none;
}

.lineup-substitute-container .substitute-team-home .substitute-item,
.lineup-injuries-container .injuries-team-home .injuries-item,
.lineup-coach-container .coach-team-home .coach-item {
    background: #F5F5F5;
}

.lineup-substitute-container .substitute-player-name span,
.lineup-injuries-container .injuries-player-info .injuries-player-name,
.lineup-coach-container .coach-item span {
    display: block;
    font-size: 22px;
    line-height: 30px;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
*/

/*!*---------- 替补人员信息 ----------*!*/

/*.lineup-substitute-container .substitute-item .substitute-info{*/
/*    position: relative;*/
/*}*/
/*!*进球事件*!*/
/*.lineup-substitute-container .incidents-container .incidents-goals{*/
/*    width: 13px;*/
/*    height: 13px;*/
/*    top: -1px;*/
/*    left: -5px;*/
/*}*/
/*!*红黄牌事件*!*/
/*.lineup-substitute-container .incidents-container .incidents-card-list{*/
/*    top: -4px;*/
/*    right: 8px;*/
/*}*/
/*.lineup-substitute-container .incidents-container .incidents-card-item{*/
/*    width: 8px;*/
/*    height: 12px;*/
/*}*/
/*.lineup-substitute-container .incidents-container .incidents-card-item:nth-child(2) {*/
/*    top: -2px;*/
/*    left: -2px;*/
/*}*/
/*!*替补上场*!*/
/*.lineup-substitute-container .incidents-container .incidents-substitution-in{*/
/*    width: 12px;*/
/*    height: 12px;*/
/*    right: -4px;*/
/*    top: 22px;*/
/*}*/
/*!*替补球员名称*!*/
/*.lineup-substitute-container .substitute-player-name{*/
/*    flex: 1;*/
/*    min-width: 0;*/
/*    max-width: 100%;*/
/*    display: flex;*/
/*    justify-content: center;*/
/*}*/

/*!*---------- 伤病和处罚 ----------*!*/

/*!*伤病或处罚标记*!*/
/*.lineup-injuries-container .injuries-item .injuries-type{*/
/*    width: 35px;*/
/*    height: 35px;*/
/*    border-radius: 50%;*/
/*    border: 1px solid #fff;*/
/*    overflow: hidden;*/
/*    flex: none;*/
/*}*/
/*.lineup-injuries-container .injuries-item .injuries-type.is-injuries{*/
/*    background: center / auto no-repeat url(./img/injuries.svg);*/
/*}*/
/*.lineup-injuries-container .injuries-item .injuries-type.is-penalties{*/
/*    background: center / auto no-repeat url(./img/penalties.svg);*/
/*}*/
/*!*伤员信息*!*/
/*.lineup-injuries-container .injuries-item .injuries-player-info{*/
/*    min-width: 0;*/
/*    flex: 1;*/
/*}*/
/*.lineup-injuries-container .injuries-item .injuries-player-info span{*/
/*    display: block;*/
/*    font-size: 21px;*/
/*    line-height: 30px;*/
/*    overflow: hidden;*/
/*    text-overflow: ellipsis;*/
/*    white-space: nowrap;*/
/*    text-align: center;*/
/*}*/
/*.lineup-injuries-container .injuries-item .injuries-type-text{*/
/*    font-weight: 300;*/
/*}*/

/*!*---------- 教练 ----------*!*/
/*.lineup-coach-container .coach-list{*/
/*    grid-template-columns: 100% !important;*/
/*}*/
/*.lineup-coach-container .coach-item{*/
/*    border-radius: 0 !important;*/
/*    justify-content: center !important;*/
/*}*/

@media screen and (max-width: 1900px) {

    /*阵容球员信息*/
    .lineup-chart-content .lineup-player-info {
        max-width: 68px;
    }

    .lineup-chart-content .lineup-player-info .shirt-number {
        width: 68px;
        height: 68px;
        font-size: 34px;
        line-height: 75px;
    }

    .lineup-chart-content .lineup-player-info .player-name {
        max-width: 82px;
        font-size: 16px;
        line-height: 18px;
        margin-top: 3px;
    }

    /*进球事件*/
    .lineup-chart-content .incidents-container .incidents-goals {
        width: 24px;
        height: 24px;
        top: 13px;
        left: -12px;
    }

    .lineup-chart-content .incidents-container .incidents-goals p.num {
        top: 11px;
        left: -10px;
        width: 16px;
        height: 16px;
        line-height: 16px;
        font-size: 12px;
    }

    /*红黄牌事件*/
    .lineup-chart-content .incidents-container .incidents-card-list {
        right: 15px;
        top: 0;
    }

    .lineup-chart-content .incidents-container .incidents-card-item {
        width: 15px;
        height: 22px;
    }

    .lineup-chart-content .incidents-container .incidents-card-item:nth-child(2) {
        top: -4px;
        left: -4px;
    }

    /*首发球员换下*/
    .lineup-chart-content .incidents-container .incidents-substitution-out {
        width: 24px;
        height: 24px;
        right: 0;
        top: 45px;
    }
}

/*主客队比分*/
.lineup-container .lineup-table-head-container {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFF;
    color: #000;
    padding: 20px 40px;
    position: relative;
    margin-top: 45px;
    margin-bottom: 30px;
    gap: 20px;
}

.lineup-container .lineup-table-head-container .team-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 10px;
    width: 37%;
}

/* 左侧：名称紧靠logo，整体靠右（向中间靠拢） */
/*.lineup-container .lineup-table-head-container .team-container:first-child {*/
/*    justify-content: flex-end;*/
/*}*/

/*.lineup-container .lineup-table-head-container .team-container:first-child .team-name-container {*/
/*    flex-shrink: 0;*/
/*}*/

/*.lineup-container .lineup-table-head-container .team-container:first-child .team-logo-container {*/
/*    flex-shrink: 0;*/
/*}*/

/* 右侧：logo紧靠名称，整体靠左（向中间靠拢） */
/*.lineup-container .lineup-table-head-container .team-container:last-child {*/
/*    justify-content: flex-start;*/
/*}*/

/*.lineup-container .lineup-table-head-container .team-container:last-child .team-logo-container {*/
/*    flex-shrink: 0;*/
/*}*/

/*.lineup-container .lineup-table-head-container .team-container:last-child .team-name-container {*/
/*    flex-shrink: 0;*/
/*}*/

.lineup-container .lineup-table-head-container .team-container .team-name-container {
    font-size: 24px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    /*color: #FFFFFF;*/
}

.lineup-container .lineup-table-head-container .team-container .team-logo-container {
    flex-shrink: 0;
}

.lineup-container .lineup-table-head-container .team-container .team-logo-container img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.lineup-container .lineup-table-head-container .middle-container {
    flex: 0 0 auto;
    text-align: center;
    min-width: 150px;
}

.lineup-container .lineup-table-head-container .middle-container .total-score-container {
    font-size: 55px;
    font-weight: bold;
    line-height: 1;
    white-space: nowrap;
}

/*---------- 球队信息容器样式 ----------*/
.team-info-container {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.home-info-container,
.away-info-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: #EFEFEF;
}

/*---------- 球队信息头部样式（深灰色背景） ----------*/
.team-info-header {
    background-color: #646367;
    padding: 15px 20px;
}

.team-info-header-content {
    display: flex;
    align-items: center;
    justify-content: center;
    /*gap: 15px;*/
}

.team-info-header-logo {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.team-info-header-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.team-info-header-name {
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: sans-serif;
    margin: 0 25px;
}

/*---------- 换人项样式 ----------*/
.team-substitution-container {
    padding: 25px 20px;
    /*display: none;*/
}

.team-substitution-title {
    font-size: 36px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 25px;
    font-family: sans-serif;
    line-height: 1.2;
}

.team-substitution-content {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 45px;
}

.team-substitution-item {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    margin-bottom: 15px;
    width: 300px;
}

.team-substitution-time {
    font-size: 20px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 2px;
    font-family: sans-serif;
}

.team-substitution-players {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 260px;
}

.team-substitution-player {
    display: flex;
    align-items: center;
    gap: 12px;
}
.team-substitution-player-out .team-substitution-player-name{
    font-weight: 600;
}

.team-substitution-player-name {
    font-size: 18px;
    font-weight: 400;
    color: #3A3A3A;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: sans-serif;
}


/*---------- 替补项样式 ----------*/

.team-substitute-container {
    padding: 25px 20px;
    /*display: none;*/
}

.team-substitute-container .team-substitute-title {
    font-size: 36px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 25px;
    font-family: sans-serif;
    line-height: 1.2;
}

.team-substitute-container .team-substitute-item {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    margin-bottom: 15px;
    background-color: #E7E7E7;
    width: 300px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

.team-substitute-container .team-substitute-content {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 45px;
}

.team-substitute-container .team-substitute-number {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.team-substitute-container .team-substitute-number img {
    display: block;
    height: auto;
    width: auto;
}

.team-substitute-container .team-substitute-number-text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    font-weight: 600;
    color: #000000;
    font-family: sans-serif;
    z-index: 1;
}

.team-substitute-container .team-substitute-name {
    font-size: 18px;
    font-weight: 600;
    color: #000000;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: sans-serif;
    flex: 1;
}

/*---------- 伤病和处罚 样式 ----------*/

.team-injury-penalty-container {
    padding: 25px 20px;
    /*display: none;*/
}

.team-injury-penalty-container .team-injury-penalty-title {
    font-size: 36px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 25px;
    font-family: sans-serif;
    line-height: 1.2;
}

.team-injury-penalty-container .team-injury-penalty-item {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    margin-bottom: 15px;
    background-color: #000;
    width: 300px;
    border: 1px solid #D7D7D7;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;

}

.team-injury-penalty-container .team-injury-penalty-content {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 45px;
}

.team-injury-penalty-container .team-injury-penalty-icon {}

.team-injury-penalty-container .team-injury-penalty-icon img {}

/* 未使用的样式 - 已注释（现在使用 team-injury-penalty-icon）
.team-injury-penalty-container .team-injury-penalty-number {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.team-injury-penalty-container .team-injury-penalty-number img {
    display: block;
    height: auto;
    width: auto;
}

.team-injury-penalty-container .team-injury-penalty-number-text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    font-weight: 600;
    color: #000000;
    font-family: sans-serif;
    z-index: 1;
}
*/

.team-injury-penalty-container .team-injury-penalty-info {
    color: #fff;
    width: 100%;
    text-align: center;
}

.team-injury-penalty-container .team-injury-penalty-name,
.team-injury-penalty-container .team-injury-penalty-reason {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: sans-serif;
    flex: 1;
}

.team-injury-penalty-container .team-injury-penalty-reason {
    font-weight: 300;
}

/*---------- 教练 样式 ----------*/

.team-coach-container {
    padding: 25px 20px;
    /*display: none;*/
}

.team-coach-container .team-coach-title {
    font-size: 36px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 25px;
    font-family: sans-serif;
    line-height: 1.2;
}

.team-coach-container .team-coach-item {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    margin-bottom: 15px;
    background-color: #000;
    /*border: 1px solid #D7D7D7;*/
    /*border-top-right-radius: 5px;*/
    /*border-bottom-right-radius: 5px;*/

}

.team-coach-container .team-coach-info {
    color: #fff;
    width: 100%;
    text-align: center;
}

.team-coach-container .team-coach-name {
    font-size: 22px;
    font-weight: 600;
    line-height: 3.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: sans-serif;
    flex: 1;
}