/* Xtiyu arena 模板 — 深色赛事主题 */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --arena-bg: #0b1014;
    --arena-bg-elev: #141b22;
    --arena-bg-card: #1a232c;
    --arena-text: #e6eaee;
    --arena-text-mute: #9ca8b3;
    --arena-primary: #ff5a36;
    --arena-accent: #00d4ff;
    --arena-live: #ff3b3b;
    --arena-scheduled: #6ea3ff;
    --arena-finished: #6f7e8e;
    --arena-border: rgba(255, 255, 255, 0.08);
    --arena-radius: 8px;
    --arena-radius-sm: 6px;
    --arena-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

html, body {
    background: var(--arena-bg);
    color: var(--arena-text);
    font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
}

a { color: var(--arena-accent); text-decoration: none; transition: color .15s; }
a:hover { color: var(--arena-primary); text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--arena-primary); outline-offset: 2px; border-radius: 2px; }

img { max-width: 100%; display: block; }

.arena-page {
    min-height: 100vh;
    background: var(--arena-bg);
    color: var(--arena-text);
}

.arena-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Header ─────────────────────────────────────────────── */
.arena-header {
    background: var(--arena-bg-elev);
    border-bottom: 1px solid var(--arena-border);
    position: sticky;
    top: 0;
    z-index: 100;
}
.arena-header .arena-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 60px;
    gap: 20px;
}
.arena-logo {
    font-size: 20px;
    font-weight: 700;
    color: var(--arena-text);
    letter-spacing: 1px;
}
.arena-logo:hover { color: var(--arena-primary); }
.arena-nav {
    display: flex;
    gap: 18px;
    align-items: center;
    overflow-x: auto;
    white-space: nowrap;
}
.arena-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    color: var(--arena-text-mute);
    font-size: 14px;
}
.arena-nav a:hover,
.arena-nav a.is-active { color: var(--arena-text); }
.arena-nav-toggle {
    display: none;
    background: none;
    border: none;
    color: var(--arena-text);
    font-size: 22px;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
}

/* ── Hero ───────────────────────────────────────────────── */
.arena-hero {
    padding: 60px 0 40px;
    text-align: center;
    background: radial-gradient(ellipse at top, rgba(255, 90, 54, 0.12), transparent 60%);
}
.arena-hero-title {
    font-size: 38px;
    font-weight: 800;
    letter-spacing: 2px;
    background: linear-gradient(90deg, var(--arena-primary), var(--arena-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.arena-hero-subtitle {
    margin-top: 12px;
    color: var(--arena-text-mute);
    font-size: 15px;
}

/* ── Portal head ────────────────────────────────────────── */
.arena-portal-head,
.arena-channel-head {
    padding: 28px 0 22px;
    background: var(--arena-bg-elev);
    border-bottom: 1px solid var(--arena-border);
}
.arena-portal-head .arena-container,
.arena-channel-head .arena-container {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1.1fr);
    gap: 22px;
    align-items: center;
}
.arena-portal-head h1,
.arena-channel-head h1 {
    font-size: 30px;
    line-height: 1.25;
}
.arena-portal-head p,
.arena-channel-head p {
    color: var(--arena-text-mute);
    margin-top: 8px;
}
.arena-portal-head__copy,
.arena-portal-stats {
    min-width: 0;
}
.arena-portal-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.arena-portal-stats span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 4px 10px;
    color: var(--arena-text);
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    font-size: 12px;
}
.arena-kicker {
    color: var(--arena-primary);
    font-size: 13px;
    font-weight: 700;
}
.arena-portal-quick,
.arena-shortcut-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.arena-portal-tile,
.arena-shortcut {
    display: grid;
    align-content: center;
    min-height: 58px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    color: var(--arena-text);
    padding: 12px;
}
.arena-portal-tile:hover,
.arena-shortcut:hover {
    border-color: var(--arena-primary);
    color: var(--arena-text);
}
.arena-portal-tile strong,
.arena-portal-tile span,
.arena-shortcut {
    display: block;
}
.arena-portal-tile span {
    color: var(--arena-text-mute);
    font-size: 12px;
    margin-top: 3px;
}

/* ── Section ────────────────────────────────────────────── */
.arena-section { padding: 44px 0 20px; }
.arena-section--compact { padding: 28px 0 8px; }
.arena-section--split > .arena-container,
.arena-section--split.arena-section--compact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.arena-section-title {
    font-size: 21px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-left: 14px;
    border-left: 3px solid var(--arena-primary);
    line-height: 1.3;
}
.arena-empty {
    color: var(--arena-text-mute);
    padding: 40px 24px;
    background: var(--arena-bg-card);
    border: 1px dashed var(--arena-border);
    border-radius: var(--arena-radius);
    text-align: center;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 120px;
}
.arena-empty::before {
    content: "\2014";
    display: block;
    font-size: 32px;
    color: var(--arena-text-mute);
    opacity: 0.35;
    line-height: 1;
    margin-bottom: 4px;
}
.arena-empty-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--arena-text-mute);
}
.arena-empty-desc {
    font-size: 13px;
    color: var(--arena-text-mute);
    opacity: 0.7;
    max-width: 320px;
}
.arena-empty--compact {
    padding: 18px 12px;
    font-size: 13px;
    min-height: auto;
}
.arena-empty--compact::before {
    font-size: 22px;
    margin-bottom: 2px;
}
.arena-section-note {
    color: var(--arena-text-mute);
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    padding: 10px 12px;
    margin-bottom: 12px;
    font-size: 13px;
}

.arena-page-header {
    padding: 28px 0 18px;
}
.arena-page-header h1 {
    font-size: 28px;
    line-height: 1.25;
}
.arena-page-header p {
    color: var(--arena-text-mute);
    margin-top: 6px;
}
.arena-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}
.arena-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 12px;
    color: var(--arena-text-mute);
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    font-size: 13px;
}
.arena-tab:hover,
.arena-tab--active {
    color: var(--arena-text);
    border-color: var(--arena-primary);
}

/* ── Match Card ─────────────────────────────────────────── */
.arena-match-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
    list-style: none;
}
.arena-match-card {
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    padding: 14px;
    transition: transform 0.2s, box-shadow 0.2s;
    color: var(--arena-text);
    border: 1px solid var(--arena-border);
}
.arena-match-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--arena-shadow);
    border-color: var(--arena-primary);
    color: var(--arena-text);
}
.arena-match-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 12px;
}
.arena-league-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    background: rgba(255, 90, 54, 0.15);
    color: var(--arena-primary);
    padding: 2px 8px;
    border-radius: var(--arena-radius-sm);
}
.arena-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 2px 8px;
    border-radius: var(--arena-radius-sm);
    font-size: 12px;
}
.arena-status--live, .arena-match-card--live .arena-status {
    background: rgba(255, 59, 59, 0.15);
    color: var(--arena-live);
    animation: arena-pulse 1.5s infinite;
}
.arena-status--scheduled, .arena-match-card--scheduled .arena-status {
    color: var(--arena-scheduled);
}
.arena-status--finished, .arena-match-card--finished .arena-status {
    color: var(--arena-finished);
}
@keyframes arena-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}
.arena-match-body {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    margin: 10px 0;
}
.arena-team {
    font-weight: 600;
    text-align: center;
}
.arena-team--home { text-align: right; }
.arena-team--away { text-align: left; }
.arena-score {
    font-size: 22px;
    font-weight: 800;
    color: var(--arena-primary);
    min-width: 56px;
    text-align: center;
}
.arena-score--pending {
    font-size: 14px;
    color: var(--arena-text-mute);
}
.arena-match-footer {
    color: var(--arena-text-mute);
    font-size: 12px;
    text-align: center;
}
.arena-match-row {
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}
.arena-match-feed {
    min-width: 0;
}
.arena-live-refresh {
    margin-bottom: 10px;
    color: var(--arena-text-mute);
    font-size: 12px;
}
.arena-live-refresh[data-state="ok"] {
    color: var(--arena-accent);
}
.arena-live-refresh[data-state="error"] {
    color: var(--arena-primary);
}
.arena-match-link {
    display: block;
    color: var(--arena-text);
    padding: 12px;
}
.arena-match-link:hover {
    color: var(--arena-text);
}
.arena-match-meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--arena-text-mute);
    font-size: 12px;
    margin-bottom: 8px;
}
.arena-match-round {
    color: var(--arena-text-mute);
}
.arena-match-teams {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 10px;
    align-items: center;
    font-weight: 700;
}
.arena-team-home { text-align: right; }
.arena-team-away { text-align: left; }
.arena-match-team {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    vertical-align: middle;
}
.arena-team-home .arena-match-team {
    justify-content: flex-end;
}
.arena-match-team-name {
    color: var(--arena-text);
    overflow-wrap: anywhere;
}
.arena-team-emblem,
.arena-player-avatar,
.arena-country-flag {
    display: inline-block;
    flex: 0 0 auto;
    object-fit: contain;
    background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border);
}
.arena-team-emblem {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    padding: 3px;
}
.arena-team-emblem--match {
    width: 24px;
    height: 24px;
    padding: 2px;
}
.arena-team-emblem--table {
    width: 22px;
    height: 22px;
    padding: 2px;
}
.arena-team-emblem--scoreboard {
    width: 52px;
    height: 52px;
    padding: 4px;
}
.arena-team-emblem--placeholder,
.arena-player-avatar--placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--arena-accent);
    font-weight: 900;
}
.arena-match-score,
.arena-vs {
    min-width: 52px;
    text-align: center;
    color: var(--arena-primary);
}

/* ── Match Detail ───────────────────────────────────────── */
.arena-match-detail {
    padding-top: 24px;
    padding-bottom: 42px;
}
.arena-match-detail-header {
    padding: 30px 0 20px;
    text-align: center;
    border-bottom: 1px solid var(--arena-border);
    margin-bottom: 30px;
}
.arena-match-detail-title {
    font-size: 28px;
    margin: 12px 0;
}
.arena-match-meta {
    display: flex;
    gap: 18px;
    justify-content: center;
    color: var(--arena-text-mute);
    font-size: 13px;
    flex-wrap: wrap;
}
.arena-match-scoreboard {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    padding: 30px;
    background: var(--arena-bg-elev);
    border-radius: var(--arena-radius);
    margin-bottom: 30px;
}
.arena-team-block { text-align: center; }
.arena-team-name { font-size: 20px; font-weight: 700; }
.arena-scoreboard-score {
    font-size: 48px;
    font-weight: 900;
    color: var(--arena-primary);
}
.arena-scoreboard-status {
    color: var(--arena-text-mute);
    margin-top: 6px;
}

/* ── Video List ─────────────────────────────────────────── */
.arena-video-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}
.arena-video-card {
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    border: 1px solid var(--arena-border);
    overflow: hidden;
    color: var(--arena-text);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.arena-video-card:hover { transform: translateY(-3px); box-shadow: var(--arena-shadow); border-color: var(--arena-primary); color: var(--arena-text); }
.arena-video-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    background: var(--arena-bg-elev);
    display: flex;
    align-items: center;
    justify-content: center;
}
.arena-video-play {
    color: var(--arena-primary);
    font-weight: 800;
}
.arena-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.arena-video-thumb--fallback::after {
    content: "▶ 播放";
    color: var(--arena-primary);
    font-weight: 800;
    font-size: 16px;
    letter-spacing: 2px;
}
.arena-video-card:hover .arena-video-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
    transition: background .2s;
}
.arena-video-type {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(0, 0, 0, 0.7);
    color: var(--arena-accent);
    padding: 2px 8px;
    border-radius: var(--arena-radius-sm);
    font-size: 11px;
}
.arena-video-duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
}
.arena-video-meta { padding: 12px 14px; }
.arena-video-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 6px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.arena-video-source {
    color: var(--arena-text-mute);
    font-size: 12px;
}
.arena-video-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(240px, 0.7fr);
    gap: 22px;
    align-items: start;
    margin-bottom: 28px;
}
.arena-video-hero {
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    overflow: hidden;
}
.arena-video-thumb--large {
    aspect-ratio: 16 / 9;
}
.arena-video-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}
.arena-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    color: var(--arena-text);
    background: var(--arena-bg-card);
    font-weight: 700;
}
.arena-btn--primary {
    border-color: var(--arena-primary);
    color: #06110d;
    background: var(--arena-primary);
}
.arena-video-side {
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    padding: 16px;
}
.arena-video-facts {
    display: grid;
    gap: 10px;
    margin: 0;
}
.arena-video-facts div {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px;
    align-items: baseline;
}
.arena-video-facts dt {
    color: var(--arena-text-mute);
    font-size: 12px;
}
.arena-video-facts dd {
    margin: 0;
    font-weight: 700;
    overflow-wrap: anywhere;
}
@media (max-width: 760px) {
    .arena-video-detail-layout {
        grid-template-columns: 1fr;
    }
}

/* ── League Cards ───────────────────────────────────────── */
.arena-league-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 14px;
}
.arena-league-card {
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    border: 1px solid var(--arena-border);
    padding: 16px;
    text-align: center;
    color: var(--arena-text);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.arena-league-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--arena-shadow);
    border-color: var(--arena-primary);
    color: var(--arena-text);
}
.arena-league-logo {
    width: 60px;
    height: 60px;
    margin: 0 auto 10px;
    background: var(--arena-bg-elev);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.arena-league-logo img {
    max-width: 100%;
    max-height: 100%;
}
.arena-league-placeholder {
    color: var(--arena-primary);
    font-weight: 800;
    font-size: 18px;
}
.arena-league-name {
    font-weight: 700;
}
.arena-league-region {
    color: var(--arena-text-mute);
    font-size: 12px;
    margin-top: 4px;
}

/* ── Team Grid ──────────────────────────────────────────── */
.arena-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
}
.arena-team-card {
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    padding: 14px;
    text-align: center;
    color: var(--arena-text);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.arena-team-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--arena-shadow);
    border-color: var(--arena-primary);
    color: var(--arena-text);
}
.arena-team-card img {
    width: 48px;
    height: 48px;
    margin: 0 auto 8px;
    object-fit: contain;
}
.arena-team-placeholder {
    display: inline-block;
    width: 48px;
    height: 48px;
    line-height: 48px;
    background: var(--arena-bg-elev);
    border-radius: 50%;
    color: var(--arena-accent);
    font-weight: 800;
}
.arena-player-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
    gap: 12px;
}
.arena-team-card small {
    color: var(--arena-text-mute);
    display: block;
    margin-top: 4px;
    min-height: 20px;
}

/* ── Team / Player profile ─────────────────────────────── */
.arena-profile-header {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 24px;
    align-items: center;
    background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    padding: 24px;
    margin: 12px 0 20px;
}
.arena-profile-media {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: var(--arena-bg-card);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.arena-profile-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.arena-profile-emblem {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    padding: 14px;
    object-fit: contain;
}
.arena-player-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    padding: 2px;
}
.arena-player-avatar--directory,
.arena-team-emblem--directory,
.arena-player-avatar--list,
.arena-team-emblem--list {
    width: 28px;
    height: 28px;
}
.arena-country-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.arena-country-flag {
    width: 22px;
    height: 16px;
    border-radius: 2px;
    padding: 0;
}
.arena-profile-placeholder,
.arena-profile-media .arena-team-emblem--placeholder {
    color: var(--arena-primary);
    font-size: 48px;
    font-weight: 900;
    background: linear-gradient(135deg, rgba(255,90,54,.12), rgba(0,212,255,.08));
    border-radius: 50%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.arena-profile-header h1 {
    font-size: 32px;
    line-height: 1.2;
}
.arena-profile-subtitle,
.arena-profile-intro {
    color: var(--arena-text-mute);
    margin-top: 8px;
}
.arena-profile-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
    margin-top: 16px;
}
.arena-profile-facts div {
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius-sm);
    padding: 8px 10px;
}
.arena-profile-facts dt {
    color: var(--arena-text-mute);
    font-size: 12px;
}
.arena-profile-facts dd {
    font-weight: 700;
    margin-top: 2px;
}

/* ── Match Table (League page) ──────────────────────────── */
.arena-match-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    overflow: hidden;
}
.arena-table-scroll {
    width: 100%;
    overflow-x: auto;
}
.arena-table-scroll .arena-match-table {
    min-width: 680px;
}
.arena-match-table th,
.arena-match-table td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--arena-border);
    font-size: 14px;
}
.arena-match-table th {
    background: var(--arena-bg-elev);
    color: var(--arena-text-mute);
    font-weight: 600;
}
.arena-match-table tr:hover { background: rgba(255, 255, 255, 0.03); }

/* ── News List ──────────────────────────────────────────── */
.arena-news-list {
    list-style: none;
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    padding: 0;
    border: 1px solid var(--arena-border);
}
.arena-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}
.arena-news-card {
    display: grid;
    grid-template-columns: 92px 1fr;
    min-height: 108px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    overflow: hidden;
    color: var(--arena-text);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.arena-news-card:hover {
    border-color: var(--arena-primary);
    color: var(--arena-text);
    transform: translateY(-2px);
    box-shadow: var(--arena-shadow);
}
.arena-news-card__media {
    background: var(--arena-bg-elev);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--arena-primary);
    font-weight: 900;
}
.arena-news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.arena-news-media--fallback::after {
    content: "资讯";
    color: var(--arena-primary);
    font-weight: 900;
}
.arena-news-card__body {
    padding: 10px;
}
.arena-news-card__body strong {
    display: block;
    line-height: 1.35;
}
.arena-news-card__body p {
    color: var(--arena-text-mute);
    font-size: 12px;
    margin: 5px 0;
}
.arena-news-card__body small {
    color: var(--arena-text-mute);
    font-size: 11px;
}
.arena-news-list li {
    padding: 16px 18px;
    border-bottom: 1px solid var(--arena-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    transition: background .15s;
}
.arena-news-list li:hover { background: rgba(255, 255, 255, 0.03); }
.arena-news-list li:last-child { border: none; }
.arena-news-meta {
    color: var(--arena-text-mute);
    font-size: 12px;
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}
.arena-news-list--full li {
    align-items: flex-start;
    flex-direction: row;
}
.arena-news-pic {
    flex-shrink: 0;
    width: 120px;
    height: 80px;
    border-radius: var(--arena-radius-sm);
    overflow: hidden;
}
.arena-news-pic img { width: 100%; height: 100%; object-fit: cover; }
/* 新闻封面图（真实图 + 兜底图统一） */
.arena-news-cover { width: 100%; height: 100%; object-fit: cover; display: block; background: var(--arena-bg-elev); }
.arena-news-cover--fallback { object-fit: cover; background: var(--arena-bg-elev); }
/* 详情页封面 figure */
.arena-news-figure {
    margin: 0 0 18px;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 360px;
    border-radius: var(--arena-radius);
    overflow: hidden;
    background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border);
}
.arena-news-figure .arena-news-cover { width: 100%; height: 100%; }
.arena-news-body { flex: 1; }
.arena-news-title {
    color: var(--arena-text);
    font-weight: 600;
    display: block;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.arena-news-summary {
    color: var(--arena-text-mute);
    font-size: 13px;
    margin: 6px 0;
}

/* ── Breadcrumb: 样式已移至 H2H / 近期战绩 / 面包屑增强 区块 ── */

/* ── News article ───────────────────────────────────────── */
.arena-news-article { padding: 30px 0; }
.arena-news-header {
    padding-bottom: 20px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--arena-border);
}
.arena-news-header h1 { font-size: 28px; line-height: 1.4; }
.arena-news-content {
    font-size: 16px;
    line-height: 1.9;
}
.arena-news-content p { margin-bottom: 1em; }
.arena-news-content img { margin: 1em auto; border-radius: var(--arena-radius-sm); }

/* ── Directory / data ───────────────────────────────────── */
.arena-directory-grid,
.arena-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}
.arena-directory-grid--dense {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}
.arena-directory-card,
.arena-stat-card {
    display: block;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    padding: 14px;
    color: var(--arena-text);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.arena-directory-card--media {
    display: flex;
    align-items: center;
    gap: 10px;
}
.arena-directory-card--media > span {
    min-width: 0;
}
.arena-directory-card:hover,
.arena-stat-card:hover {
    border-color: var(--arena-primary);
    color: var(--arena-text);
    transform: translateY(-2px);
    box-shadow: var(--arena-shadow);
}
.arena-directory-card strong,
.arena-stat-card strong {
    display: block;
    font-size: 18px;
}
.arena-directory-card small,
.arena-stat-card span {
    display: block;
    color: var(--arena-text-mute);
    margin-top: 4px;
    font-size: 12px;
}

.arena-stat-grid--wide {
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
}
.arena-hub-grid,
.arena-cross-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
}
.arena-hub-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.arena-hub-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.arena-hub-card__title {
    color: var(--arena-text);
}
.arena-hub-card__title:hover {
    color: var(--arena-text);
}
.arena-hub-card__counts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}
.arena-hub-card__counts span {
    min-height: 28px;
    padding: 5px 7px;
    color: var(--arena-text-mute);
    background: rgba(255, 255, 255, 0.04);
    border-radius: var(--arena-radius-sm);
    font-size: 12px;
}
.arena-cross-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.arena-cross-card > a {
    color: var(--arena-text);
}
.arena-inline-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.arena-inline-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 3px 9px;
    color: var(--arena-text);
    background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    font-size: 12px;
}
.arena-inline-links a:hover {
    color: var(--arena-primary);
    border-color: var(--arena-primary);
}
.arena-entity-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.arena-entity-columns h3 {
    margin-bottom: 10px;
    font-size: 16px;
}
.arena-link-list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
}
.arena-link-list li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    min-height: 38px;
    padding: 8px 10px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
}
.arena-link-list a,
.arena-link-list span {
    color: var(--arena-text);
    font-weight: 700;
    overflow-wrap: anywhere;
}
.arena-link-list a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}
.arena-link-list small {
    color: var(--arena-text-mute);
    font-size: 12px;
    white-space: nowrap;
}
.arena-link-list--metrics li {
    background: var(--arena-bg-elev);
}
.arena-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
    gap: 24px;
    align-items: start;
    margin-top: 28px;
}
.arena-news-primary,
.arena-news-side {
    min-width: 0;
}
.arena-news-side {
    display: grid;
    gap: 20px;
}

/* ── League Sidebar ─────────────────────────────────────── */
.arena-sidebar {
    display: grid;
    gap: 20px;
    padding: 16px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}
.arena-sidebar__section {
    display: grid;
    gap: 8px;
}
.arena-sidebar__title {
    font-size: 13px;
    font-weight: 700;
    color: var(--arena-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--arena-border);
}
.arena-sidebar__list {
    list-style: none;
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0;
}
.arena-sidebar__link {
    display: block;
    padding: 6px 8px;
    font-size: 13px;
    color: var(--arena-text-mute);
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.15s ease;
}
.arena-sidebar__link:hover {
    color: var(--arena-text);
    background: rgba(255, 255, 255, 0.05);
    text-decoration: none;
}
.arena-sidebar__link--active {
    color: var(--arena-primary);
    background: rgba(255, 90, 54, 0.12);
    font-weight: 600;
    border-left: 2px solid var(--arena-primary);
    padding-left: 6px;
}

.arena-side-block .arena-match-list,
.arena-side-block .arena-video-list,
.arena-side-block .arena-news-grid {
    grid-template-columns: 1fr;
}
.arena-related-section {
    margin-top: 28px;
}
.arena-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}
.arena-related-block {
    min-width: 0;
    padding: 14px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}
.arena-related-block h3 {
    margin-bottom: 10px;
    color: var(--arena-text);
    font-size: 16px;
}
.arena-related-list {
    list-style: none;
    display: grid;
    gap: 8px;
}
.arena-related-list li {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.arena-related-list li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}
.arena-related-list a {
    color: var(--arena-text);
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.arena-related-list a:hover {
    color: var(--arena-primary);
}
.arena-related-list small {
    color: var(--arena-text-mute);
    font-size: 12px;
}

/* ── Rich page modules ─────────────────────────────────── */
.arena-main {
    min-height: calc(100vh - 180px);
    padding-bottom: 20px;
}
.arena-page--index,
.arena-page--channel,
.arena-page--league,
.arena-page--team,
.arena-page--player,
.arena-page--standings,
.arena-page--season,
.arena-page--schedule,
.arena-page--data,
.arena-page--topic,
.arena-page--video,
.arena-page--video-detail,
.arena-page--news-list,
.arena-page--news-detail,
.arena-page--detail {
    color: var(--arena-text);
}
.arena-page-header--left {
    text-align: left;
}
.arena-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.arena-section-head .arena-section-title {
    margin-bottom: 6px;
}
.arena-section-desc,
.arena-section-sub,
.arena-video-description {
    color: var(--arena-text-mute);
    font-size: 13px;
    line-height: 1.75;
}
.arena-more-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    white-space: nowrap;
    padding: 5px 11px;
    color: var(--arena-text);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    background: var(--arena-bg-card);
    font-size: 13px;
}
.arena-more-link:hover {
    color: var(--arena-primary);
    border-color: var(--arena-primary);
}
.arena-side-block {
    min-width: 0;
    padding: 18px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}
.arena-side-block + .arena-side-block {
    margin-top: 18px;
}
.arena-side-block .arena-section-title {
    margin-bottom: 12px;
    font-size: 16px;
}
.arena-side-block--note {
    background: linear-gradient(180deg, rgba(255, 90, 54, 0.08), var(--arena-bg-card));
}
.arena-side-block--note p {
    color: var(--arena-text-mute);
    font-size: 13px;
    line-height: 1.8;
}
.arena-section--keywords {
    margin-top: 22px;
    padding-bottom: 26px;
    border-top: 1px solid var(--arena-border);
}
.arena-kw-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.arena-kw-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 5px 11px;
    color: var(--arena-text);
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    font-size: 13px;
}
.arena-kw-nav a:hover {
    color: var(--arena-bg);
    background: var(--arena-primary);
    border-color: var(--arena-primary);
}
.arena-filter-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.arena-filter-item {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 4px 10px;
    color: var(--arena-text);
    background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    font-size: 12px;
}
.arena-filter-item:hover {
    color: var(--arena-primary);
    border-color: var(--arena-primary);
}
.arena-insight-grid,
.arena-season-layout,
.arena-player-overview,
.arena-standings-hero {
    display: grid;
    gap: 14px;
}
.arena-insight-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.arena-insight-card {
    min-width: 0;
    padding: 15px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}
.arena-insight-card h3 {
    margin-bottom: 8px;
    font-size: 15px;
}
.arena-insight-card p {
    color: var(--arena-text-mute);
    font-size: 13px;
    line-height: 1.75;
}
.arena-standings-hero,
.arena-season-ribbon,
.arena-player-overview {
    margin: 16px 0 22px;
    padding: 20px;
    background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}
.arena-standings-hero {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.35fr);
    align-items: center;
}
.arena-standings-hero__copy h2,
.arena-season-ribbon h2,
.arena-player-overview__main h2 {
    margin: 6px 0 8px;
    font-size: 24px;
    line-height: 1.25;
}
.arena-standings-hero__copy p,
.arena-season-ribbon p,
.arena-player-overview__main p {
    color: var(--arena-text-mute);
}
.arena-standings-hero__links,
.arena-player-overview__facts,
.arena-season-ribbon__meta {
    display: grid;
    gap: 8px;
}
.arena-standings-hero__links a,
.arena-player-overview__facts span,
.arena-season-ribbon__meta span,
.arena-season-ribbon__meta strong {
    min-width: 0;
    padding: 8px 10px;
    color: var(--arena-text);
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    font-size: 13px;
}
.arena-season-ribbon {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.35fr);
    gap: 18px;
    align-items: center;
}
.arena-season-layout {
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
    align-items: start;
}
.arena-season-layout__main,
.arena-season-layout__side,
.arena-player-layout,
.arena-standings-layout {
    min-width: 0;
}
.arena-player-overview {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.4fr);
    align-items: center;
}
.arena-player-overview__facts a {
    color: var(--arena-accent);
}
.arena-league-header,
.arena-team-info,
.arena-match-preview,
.arena-match-summary {
    padding: 16px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}
.arena-league-intro,
.arena-league-meta,
.arena-league-quick-links,
.arena-team-quick-links,
.arena-news-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.arena-tags,
.arena-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.arena-news-tags a,
.arena-tags a,
.arena-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 4px 10px;
    border-radius: var(--arena-radius-sm);
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    color: var(--arena-text-mute);
}
.arena-news-tags a:hover,
.arena-tags a:hover,
.arena-tag:hover {
    border-color: var(--arena-primary);
    color: var(--arena-text);
}
.arena-league-badge,
.arena-news-tags-label,
.arena-scoreboard-time,
.arena-venue {
    color: var(--arena-text-mute);
    font-size: 12px;
}
.arena-league-h1 {
    font-size: 30px;
    line-height: 1.2;
}
.arena-scoreboard-center {
    text-align: center;
}
.arena-team-block--home,
.arena-team-block--away {
    min-width: 0;
}
.arena-status--live,
.arena-status--进行中 {
    color: var(--arena-live);
}
.arena-status--scheduled,
.arena-status--未开始 {
    color: var(--arena-scheduled);
}
.arena-status--finished,
.arena-status--已完赛 {
    color: var(--arena-finished);
}

/* ── Footer ─────────────────────────────────────────────── */
.arena-footer {
    margin-top: 60px;
    padding: 36px 0 28px;
    background: var(--arena-bg-elev);
    border-top: 1px solid var(--arena-border);
    color: var(--arena-text-mute);
    font-size: 13px;
}

/* 第一层：站点导航 */
.arena-footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 12px;
    margin-bottom: 20px;
    font-size: 14px;
}
.arena-footer-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    color: var(--arena-text-mute);
    transition: color .15s;
}
.arena-footer-nav a:hover {
    color: var(--arena-primary);
}
.arena-footer-nav-sep {
    color: var(--arena-text-mute);
    opacity: 0.4;
}

/* 第二层：友情链接 */
.arena-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 12px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--arena-border);
}
.arena-footer-links strong {
    color: var(--arena-text);
    font-weight: 700;
}
.arena-footer-links a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    color: var(--arena-text-mute);
    font-size: 13px;
    transition: color .15s;
}
.arena-footer-links a:hover {
    color: var(--arena-accent);
}

/* 第三层：原有内容 */
.arena-footer-meta {
    margin-top: 12px;
}
.arena-footer-meta a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    color: var(--arena-text-mute);
    margin: 0 6px;
    transition: color .15s;
}
.arena-footer-meta a:hover { color: var(--arena-accent); }
.arena-footer-copyright {
    margin-top: 8px;
    font-size: 12px;
    color: var(--arena-text-mute);
}
.arena-footer-kw {
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 2.2;
    text-align: left;
}
.arena-footer-kw strong {
    color: var(--arena-text);
    margin-right: 8px;
    font-weight: 700;
}
.arena-footer-kw a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    color: var(--arena-text-mute);
    margin: 2px 6px;
    text-decoration: none;
    padding: 2px 4px;
    border-radius: 3px;
    transition: color .15s, background .15s;
}
.arena-footer-kw a:hover {
    color: var(--arena-accent);
    background: rgba(0, 212, 255, 0.08);
    text-decoration: none;
}
.arena-footer-seo {
    font-size: 13px;
    color: var(--arena-text-mute);
    line-height: 1.8;
    margin: 16px 0 8px;
    text-align: left;
}

/* ── Mobile ─────────────────────────────────────────────── */
@media (max-width: 768px) {
    .arena-container { padding: 0 14px; }

    /* Footer 移动端响应 */
    .arena-footer-nav {
        justify-content: flex-start;
        gap: 6px 8px;
        font-size: 13px;
    }
    .arena-footer-nav-sep {
        display: none;
    }
    .arena-footer-links {
        justify-content: flex-start;
        gap: 8px 10px;
    }
    .arena-footer-links strong {
        display: block;
        width: 100%;
        margin-bottom: 8px;
    }
    .arena-footer-links a {
        font-size: 12px;
    }
    .arena-footer-meta {
        font-size: 12px;
    }
    .arena-footer-meta a {
        display: inline-block;
        margin: 4px 0;
    }

    .arena-header .arena-container {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .arena-nav { width: 100%; padding-bottom: 2px; flex-direction: column; gap: 0; max-height: 0; overflow: hidden; transition: max-height .25s ease; }
    .arena-nav.is-open { max-height: 500px; padding-top: 8px; }
    .arena-nav-toggle { display: block; }
    .arena-nav a { display: block; padding: 8px 0; font-size: 14px; border-bottom: 1px solid var(--arena-border); }
    .arena-nav a:last-child { border-bottom: none; }
    .arena-hero-title { font-size: 28px; }
    .arena-portal-head .arena-container,
    .arena-channel-head .arena-container,
    .arena-section--split > .arena-container,
    .arena-section--split.arena-section--compact {
        grid-template-columns: 1fr;
    }
    .arena-portal-quick,
    .arena-shortcut-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .arena-match-scoreboard {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .arena-scoreboard-score { font-size: 36px; }
    .arena-news-list--full li { flex-direction: column; }
    .arena-news-pic { width: 100%; height: 160px; }
    .arena-news-card { grid-template-columns: 84px 1fr; }
    .arena-search {
        grid-template-columns: 1fr;
    }
    .arena-entity-columns,
    .arena-news-layout {
        grid-template-columns: 1fr;
    }
    .arena-link-list {
        grid-template-columns: 1fr;
    }
    .arena-hub-card__counts {
        grid-template-columns: 1fr;
    }
    .arena-profile-header {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .arena-profile-media { margin: 0 auto; }
}

/* ════════════════════════════════════════════════════════════
   Arena 加厚补缺 – 模板扩展样式
   ════════════════════════════════════════════════════════════ */

/* ── Section 变体 ─────────────────────────────────────── */
.arena-section--page-head,
.arena-section--hero,
.arena-section--description,
.arena-section--note {
    padding: 16px 0;
}
.arena-section--article-body {
    font-size: 15px;
    line-height: 1.8;
    color: var(--arena-text);
}
.arena-section--article-summary {
    font-size: 15px;
    line-height: 1.7;
    color: var(--arena-text-mute);
    border-left: 3px solid var(--arena-primary);
    padding-left: 14px;
    margin: 12px 0;
}
.arena-section--tags,
.arena-section--cross-links,
.arena-section--deep-links,
.arena-section--tag-cross-links {
    padding: 14px 0;
}
.arena-section--recommended-news,
.arena-section--recommended-videos,
.arena-section--related-news,
.arena-section--video-related,
.arena-section--video-highlights,
.arena-section--similar-videos,
.arena-section--video-grid {
    padding: 18px 0;
}
.arena-section--player {
    padding: 16px 0;
}
.arena-section--browse-topics,
.arena-section--topics,
.arena-section--curated-groups,
.arena-section--editor-picks,
.arena-section--more-topics,
.arena-section--replay-archive {
    padding: 16px 0;
}
.arena-section-note {
    font-size: 14px;
    line-height: 1.7;
    color: var(--arena-text-mute);
    max-width: 800px;
}

/* ── Channel meta ─────────────────────────────────────── */
.arena-channel-meta {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 10px;
    font-size: 13px;
    color: var(--arena-text-mute);
}

/* ── Scoreboard layout ────────────────────────────────── */
.arena-scoreboard-layout {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    align-items: center;
    padding: 24px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}

/* ── Overview / Info grids ────────────────────────────── */
.arena-overview-grid,
.arena-info-grid,
.arena-analysis-grid,
.arena-form-grid,
.arena-breakdown-grid,
.arena-entry-grid,
.arena-search-grid {
    display: grid;
    gap: 12px;
}
.arena-overview-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.arena-info-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.arena-analysis-grid,
.arena-form-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.arena-breakdown-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.arena-entry-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.arena-search-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.arena-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}
.arena-search-input,
.arena-search-btn {
    min-height: 42px;
    border-radius: var(--arena-radius-sm);
    font-size: 14px;
}
.arena-search-input {
    min-width: 0;
    width: 100%;
    padding: 0 12px;
    color: var(--arena-text);
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
}
.arena-search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid var(--arena-primary);
    background: var(--arena-primary);
    color: #06110d;
    font-weight: 700;
    cursor: pointer;
}

.arena-overview-item,
.arena-info-card,
.arena-analysis-card,
.arena-form-card,
.arena-breakdown-card,
.arena-spotlight-card,
.arena-related-card,
.arena-summary-card {
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    padding: 14px;
}
.arena-info-label {
    font-size: 12px;
    color: var(--arena-text-mute);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.arena-info-value {
    font-size: 16px;
    font-weight: 600;
    color: var(--arena-text);
    margin-top: 2px;
}

/* ── Badges ───────────────────────────────────────────── */
.arena-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}
.arena-badge--live {
    background: #dc2626;
    color: #fff;
    animation: arena-pulse 2s ease-in-out infinite;
}
@keyframes arena-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

/* ── Event timeline ───────────────────────────────────── */
.arena-event-timeline {
    list-style: none;
    padding: 0;
    margin: 0;
}
.arena-event-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--arena-border);
    font-size: 14px;
}

/* ── Match tools ──────────────────────────────────────── */
.arena-match-toolbar,
.arena-roster-toolbar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.arena-match-list-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

/* ── Content mix / spotlight ──────────────────────────── */
.arena-content-mix {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 16px;
}
.arena-mix-main { min-width: 0; }
.arena-mix-side { min-width: 0; }
.arena-spotlight-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

/* ── News highlight ───────────────────────────────────── */
.arena-news-highlight {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.arena-news-highlight-main { min-width: 0; }
.arena-news-highlight-side { min-width: 0; }
.arena-related-news-list {
    list-style: none;
    padding: 0;
}
.arena-related-news-list li {
    padding: 8px 0;
    border-bottom: 1px solid var(--arena-border);
    font-size: 14px;
}

/* ── Video grid / cover / nav ─────────────────────────── */
.arena-video-grid,
.arena-video-grid-list {
    display: grid;
    gap: 12px;
}
.arena-video-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.arena-video-grid-list { grid-template-columns: 1fr; }
.arena-video-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.arena-video-cover {
    position: relative;
    background: var(--arena-bg-elev);
    border-radius: var(--arena-radius);
    overflow: hidden;
    aspect-ratio: 16/9;
}
.arena-video-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.arena-video-entry {
    display: flex;
    gap: 12px;
    padding: 10px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
}
.arena-video-related-list {
    list-style: none;
    padding: 0;
}
.arena-video-related-list li {
    padding: 8px 0;
    border-bottom: 1px solid var(--arena-border);
    font-size: 14px;
}
.arena-replay-list {
    list-style: none;
    padding: 0;
}
.arena-replay-list li {
    padding: 8px 12px;
    border-bottom: 1px solid var(--arena-border);
    font-size: 14px;
}

/* ── Standings / summary ──────────────────────────────── */
.arena-standings-summary {
    margin: 12px 0;
}
.arena-standings-table-wrap {
    overflow-x: auto;
    margin: 8px 0;
}
.arena-summary-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
}

/* ── Team / profile ───────────────────────────────────── */
.arena-team-role {
    font-size: 12px;
    color: var(--arena-text-mute);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.arena-team-summary {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin: 8px 0;
    font-size: 14px;
}
.arena-team-topic-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
}
.arena-profile-content {
    font-size: 14px;
    line-height: 1.7;
}

/* ── Topic / cross links ─────────────────────────────── */
.arena-topic-card {
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    padding: 14px;
}
.arena-topic-entries {
    list-style: none;
    padding: 0;
}
.arena-topic-entries li {
    padding: 6px 0;
    border-bottom: 1px solid var(--arena-border);
    font-size: 14px;
}
.arena-cross-links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.arena-related-grid--news {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
}

/* ── Live flag / desc ─────────────────────────────────── */
.arena-live-flag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background: #dc2626;
    color: #fff;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
}
.arena-live-desc {
    font-size: 13px;
    color: var(--arena-text-mute);
    margin-top: 4px;
}

/* ── League header ────────────────────────────────────── */
.arena-league-header-main {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}

/* ── Filter extended ──────────────────────────────────── */
.arena-filter-extended {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.arena-filter-extended a {
    padding: 4px 10px;
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    font-size: 13px;
    color: var(--arena-text);
}
.arena-filter-extended a:hover,
.arena-filter-extended a.is-active {
    background: var(--arena-primary);
    color: #fff;
    border-color: var(--arena-primary);
}

/* ── Responsive additions ─────────────────────────────── */
@media (max-width: 768px) {
    .arena-content-mix { grid-template-columns: 1fr; }
    .arena-news-highlight { grid-template-columns: 1fr; }
    .arena-scoreboard-layout {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .arena-overview-grid { grid-template-columns: 1fr 1fr; }
    .arena-cross-grid,
    .arena-hub-grid { grid-template-columns: 1fr; }
    .arena-stat-grid,
    .arena-directory-grid { grid-template-columns: repeat(2, 1fr); }
    .arena-stat-grid--wide { grid-template-columns: repeat(2, 1fr); }
}

/* ════════════════════════════════════════════════════════════
   Arena 静态页与射手榜样式
   ════════════════════════════════════════════════════════════ */

/* ── Static Page ─────────────────────────────────────────── */
.arena-static-content {
    padding: 30px 0;
}
.arena-static-content h1 {
    font-size: 28px;
    line-height: 1.3;
    margin-bottom: 20px;
    color: var(--arena-text);
}
.arena-static-body {
    font-size: 15px;
    line-height: 1.8;
    max-width: 800px;
    color: var(--arena-text);
}
.arena-static-body p {
    margin-bottom: 1.2em;
}
.arena-static-body a {
    color: var(--arena-accent);
    text-decoration: underline;
    transition: color .15s;
}
.arena-static-body a:hover {
    color: var(--arena-primary);
}
.arena-static-body ul,
.arena-static-body ol {
    margin-bottom: 1.2em;
    padding-left: 2em;
}
.arena-static-body li {
    margin-bottom: 0.5em;
}
.arena-static-body h2,
.arena-static-body h3 {
    margin-top: 1.5em;
    margin-bottom: 0.8em;
    color: var(--arena-text);
}

/* ── Scorers Table ────────────────────────────────────────── */
.arena-scorers-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    overflow: hidden;
    font-size: 14px;
}
.arena-scorers-table th,
.arena-scorers-table td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--arena-border);
}
.arena-scorers-table th {
    background: var(--arena-bg-elev);
    color: var(--arena-text-mute);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.arena-scorers-table th:first-child,
.arena-scorers-table td:first-child {
    width: 50px;
    text-align: center;
    font-weight: 700;
}
.arena-scorers-table tr:hover {
    background: rgba(255, 255, 255, 0.03);
}
.arena-scorers-table tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.02);
}
.arena-scorers-table a {
    color: var(--arena-text);
    font-weight: 600;
    transition: color .15s;
}
.arena-scorers-table a:hover {
    color: var(--arena-primary);
}
.arena-scorers-table .goals {
    font-weight: 800;
    color: var(--arena-primary);
    font-size: 16px;
}
.arena-scorers-table .rank-1 {
    color: #ffd700;
}
.arena-scorers-table .rank-2 {
    color: #c0c0c0;
}
.arena-scorers-table .rank-3 {
    color: #cd7f32;
}
.arena-table-scroll .arena-scorers-table {
    min-width: 600px;
}
@media (max-width: 768px) {
    .arena-static-content {
        padding: 20px 0;
    }
    .arena-static-content h1 {
        font-size: 24px;
    }
    .arena-static-body {
        font-size: 14px;
    }
}

/* ===== 比赛详情页：H2H / 近期战绩 / 面包屑增强 ===== */

/* ── 面包屑导航 ───────────────────────────────────────── */
.arena-breadcrumb {
    color: var(--arena-text-mute);
    font-size: 13px;
    padding: 16px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}
.arena-breadcrumb a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    color: var(--arena-text-mute);
    transition: color .15s;
}
.arena-breadcrumb a:hover {
    color: var(--arena-accent);
    text-decoration: none;
}
.arena-breadcrumb .arena-breadcrumb-sep {
    margin: 0 8px;
    color: var(--arena-text-mute);
    opacity: 0.4;
    user-select: none;
}
/* 分隔符伪元素（无 .arena-breadcrumb-sep 时自动生成） */
.arena-breadcrumb-item + .arena-breadcrumb-item::before {
    content: "\203A";
    margin: 0 8px;
    color: var(--arena-text-mute);
    opacity: 0.4;
    speak: none;
}
.arena-breadcrumb .arena-breadcrumb-current {
    color: var(--arena-text-mute);
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}
/* [aria-label="breadcrumb"] 容器语义支持 */
[aria-label="breadcrumb"] .arena-breadcrumb,
[aria-label="breadcrumb"] {
    list-style: none;
}

/* ── FAQ 手风琴 ─────────────────────────────────────────── */
.arena-faq-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.arena-faq-item {
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    overflow: hidden;
    transition: border-color .2s;
}
.arena-faq-item:hover {
    border-color: rgba(255, 255, 255, 0.14);
}
.arena-faq-item summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
    color: var(--arena-text);
    list-style: none;
    user-select: none;
    transition: color .15s, background .15s;
}
/* 去掉默认三角箭头 */
.arena-faq-item summary::-webkit-details-marker {
    display: none;
}
.arena-faq-item summary::marker {
    content: "";
}
/* 左侧 +/- 指示器 */
.arena-faq-item summary::before {
    content: "+";
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: var(--arena-accent);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    transition: transform .25s, background .25s, color .25s;
}
.arena-faq-item[open] summary::before {
    content: "\2212";
    background: rgba(255, 90, 54, 0.15);
    color: var(--arena-primary);
    transform: rotate(180deg);
}
.arena-faq-item summary:hover {
    background: rgba(255, 255, 255, 0.02);
}
.arena-faq-item summary:hover::before {
    background: rgba(255, 90, 54, 0.1);
    color: var(--arena-primary);
}
.arena-faq-answer {
    color: var(--arena-text-mute);
    font-size: 14px;
    line-height: 1.8;
    padding: 0 16px 16px 52px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .35s ease, opacity .25s ease, padding .25s ease;
}
.arena-faq-item[open] .arena-faq-answer {
    max-height: 600px;
    opacity: 1;
    padding-top: 4px;
}

/* ── H2H 交锋表格 ─────────────────────────────────────── */
.arena-h2h-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    overflow: hidden;
    font-size: 14px;
}
.arena-h2h-table th,
.arena-h2h-table td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid var(--arena-border);
}
.arena-h2h-table th {
    background: var(--arena-bg-elev);
    color: var(--arena-text-mute);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.arena-h2h-table tr:hover td {
    background: rgba(255, 255, 255, 0.03);
}
/* 胜/负/平 结果列色块标注 */
.arena-h2h-table .arena-h2h-cell--win {
    background: rgba(24, 169, 87, 0.12);
    color: #18a957;
    font-weight: 700;
    text-align: center;
    border-radius: 0;
}
.arena-h2h-table .arena-h2h-cell--loss {
    background: rgba(229, 72, 77, 0.12);
    color: #e5484d;
    font-weight: 700;
    text-align: center;
    border-radius: 0;
}
.arena-h2h-table .arena-h2h-cell--draw {
    background: rgba(154, 166, 178, 0.12);
    color: #9aa6b2;
    font-weight: 700;
    text-align: center;
    border-radius: 0;
}
/* 结果标签（表格内联使用） */
.arena-h2h-table .arena-result-tag {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.arena-result-tag--win {
    background: rgba(24, 169, 87, 0.15);
    color: #18a957;
}
.arena-result-tag--loss {
    background: rgba(229, 72, 77, 0.15);
    color: #e5484d;
}
.arena-result-tag--draw {
    background: rgba(154, 166, 178, 0.15);
    color: #9aa6b2;
}
.arena-table-scroll .arena-h2h-table {
    min-width: 580px;
}

/* H2H 汇总条 */
.arena-h2h-summary {
    display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center;
    padding: 12px 16px; margin-bottom: 14px;
    background: var(--arena-bg-elev); border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius); font-size: 14px;
}
.arena-h2h-summary-total { font-weight: 600; color: var(--arena-accent); }
.arena-h2h-summary-record { color: var(--arena-text); }
.arena-h2h-summary-goals { color: var(--arena-text-mute); }
.arena-h2h-empty { color: var(--arena-text-mute); }

.arena-h2h-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.arena-h2h-item {
    display: grid; grid-template-columns: 96px 1fr auto; gap: 12px; align-items: center;
    padding: 10px 14px; background: var(--arena-bg-card);
    border: 1px solid var(--arena-border); border-left: 3px solid var(--arena-finished);
    border-radius: var(--arena-radius-sm);
}
.arena-h2h-item--win { border-left-color: var(--arena-primary); }
.arena-h2h-item--draw { border-left-color: var(--arena-scheduled); }
.arena-h2h-item--loss { border-left-color: var(--arena-accent); }
.arena-h2h-date { color: var(--arena-text-mute); font-size: 13px; }
.arena-h2h-score { font-weight: 600; }
.arena-h2h-result { font-size: 13px; padding: 2px 10px; border-radius: 999px; white-space: nowrap; }
.arena-h2h-result--win { background: rgba(255, 90, 54, .15); color: var(--arena-primary); }
.arena-h2h-result--draw { background: rgba(110, 163, 255, .15); color: var(--arena-scheduled); }
.arena-h2h-result--loss { background: rgba(0, 212, 255, .12); color: var(--arena-accent); }

/* 近期战绩双列 */
.arena-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.arena-form-col {
    padding: 14px 16px; background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border); border-radius: var(--arena-radius);
}
.arena-form-team { margin: 0 0 10px; font-size: 16px; color: var(--arena-text); }
.arena-form-badges { display: flex; gap: 6px; margin-bottom: 10px; }
.arena-form-badge {
    width: 24px; height: 24px; line-height: 24px; text-align: center;
    border-radius: 50%; font-size: 12px; font-weight: 700; color: #fff;
}
.arena-form-badge--win { background: #18a957; }
.arena-form-badge--draw { background: #9aa6b2; }
.arena-form-badge--loss { background: #e5484d; }
.arena-form-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.arena-form-row { font-size: 13px; padding: 6px 10px; border-radius: var(--arena-radius-sm); background: var(--arena-bg-card); border-left: 3px solid var(--arena-finished); }
.arena-form-row--win { border-left-color: #18a957; }
.arena-form-row--draw { border-left-color: #9aa6b2; }
.arena-form-row--loss { border-left-color: #e5484d; }

@media (max-width: 768px) {
    .arena-form-grid { grid-template-columns: 1fr; }
    .arena-h2h-item { grid-template-columns: 72px 1fr auto; gap: 8px; padding: 8px 10px; }

    /* FAQ 手风琴全宽 */
    .arena-faq-list { gap: 8px; }
    .arena-faq-item summary { padding: 12px 14px; font-size: 14px; }
    .arena-faq-answer { padding: 0 14px 14px 46px; font-size: 13px; }

    /* H2H 表格横向滚动 */
    .arena-table-scroll .arena-h2h-table { min-width: 480px; }

    /* 面包屑字号缩小 */
    .arena-breadcrumb { font-size: 12px; padding: 12px 0; }
    .arena-breadcrumb .arena-breadcrumb-sep,
    .arena-breadcrumb-item + .arena-breadcrumb-item::before { margin: 0 5px; }

    /* 空状态紧凑 */
    .arena-empty { padding: 28px 16px; min-height: 80px; }
}

/* ── 阵容分组（球队页）─────────────────────────────── */
.arena-roster-groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}
.arena-roster-group {
    background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius);
    padding: 14px 16px;
}
.arena-roster-group-title {
    display: flex; align-items: center; justify-content: space-between;
    margin: 0 0 10px; font-size: 15px; color: var(--arena-text);
    padding-bottom: 8px; border-bottom: 1px solid var(--arena-border);
}
.arena-roster-count {
    font-size: 12px; font-weight: 700; color: var(--arena-text-mute);
    background: var(--arena-bg-card); border-radius: 10px; padding: 1px 8px;
}
.arena-roster-list { list-style: none; margin: 0; padding: 0; }
.arena-roster-item + .arena-roster-item { border-top: 1px dashed var(--arena-border); }
.arena-roster-item a {
    display: grid; grid-template-columns: 32px 1fr auto; align-items: center;
    gap: 10px; padding: 8px 4px; color: var(--arena-text); text-decoration: none;
}
.arena-roster-item a:hover { color: var(--arena-accent, #2f7fff); }
.arena-roster-num {
    width: 28px; height: 28px; line-height: 28px; text-align: center;
    border-radius: 50%; background: var(--arena-bg-card);
    font-size: 12px; font-weight: 700; color: var(--arena-text-mute);
}
.arena-roster-name { font-size: 14px; }
.arena-roster-pos { font-size: 12px; color: var(--arena-text-mute); }

/* ── 近期战绩逐场行细节 ─────────────────────────────── */
.arena-form-row a {
    display: grid; grid-template-columns: 52px auto 1fr auto; align-items: center;
    gap: 10px; color: var(--arena-text); text-decoration: none;
}
.arena-form-row a:hover { color: var(--arena-accent, #2f7fff); }
.arena-form-vs { font-weight: 700; }
.arena-form-score { font-variant-numeric: tabular-nums; font-weight: 700; }
.arena-form-opp { color: var(--arena-text-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.arena-form-row time { font-size: 12px; color: var(--arena-text-mute); }

/* ── 赛季数据说明（无结构化 JSON 时的原文）─────────── */
.arena-stat-note {
    margin: 0; padding: 12px 14px; font-size: 13px; line-height: 1.7;
    color: var(--arena-text-mute); background: var(--arena-bg-elev);
    border: 1px solid var(--arena-border); border-radius: var(--arena-radius);
}
.arena-profile-facts--card { margin-top: 0; }

/* ── 积分榜可视化增强：区位色带 + 名次徽标 + 净胜球 ─────────── */
.arena-standings-table .arena-standings-rank {
    position: relative;
    width: 64px;
    text-align: center;
    white-space: nowrap;
}
.arena-standings-rankno {
    display: inline-block;
    min-width: 22px;
    font-weight: 700;
    color: var(--arena-text);
}
.arena-standings-rank--1 .arena-standings-rankno,
.arena-standings-rank--2 .arena-standings-rankno,
.arena-standings-rank--3 .arena-standings-rankno {
    border-radius: 50%;
    width: 24px;
    height: 24px;
    line-height: 24px;
    color: #14110c;
}
.arena-standings-rank--1 .arena-standings-rankno { background: #ffd700; }
.arena-standings-rank--2 .arena-standings-rankno { background: #d4d8dc; }
.arena-standings-rank--3 .arena-standings-rankno { background: #cd7f32; color: #fff; }
.arena-standings-zonetag {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    font-size: 11px;
    line-height: 1.6;
    border-radius: 999px;
    color: var(--arena-text-mute);
    background: var(--arena-bg-elev);
    vertical-align: middle;
}
/* 行左侧区位色带 */
.arena-standings-row td:first-child { border-left: 3px solid transparent; }
.arena-standings-row--title td:first-child { border-left-color: #ffd700; }
.arena-standings-row--ucl td:first-child { border-left-color: #3da5ff; }
.arena-standings-row--uel td:first-child { border-left-color: #46c47c; }
.arena-standings-row--drop td:first-child { border-left-color: #ff5a5a; }
.arena-standings-row--playoff td:first-child { border-left-color: #3da5ff; }
.arena-standings-row--playin td:first-child { border-left-color: #46c47c; }
.arena-standings-row--title { background: rgba(255, 215, 0, 0.06); }
.arena-standings-row--drop { background: rgba(255, 90, 90, 0.06); }
.arena-standings-points { color: var(--arena-primary); font-size: 15px; }
.arena-standings-diff { font-weight: 600; font-variant-numeric: tabular-nums; }
.arena-standings-diff.is-pos { color: #46c47c; }
.arena-standings-diff.is-neg { color: #ff7a7a; }
.arena-standings-diff.is-zero { color: var(--arena-text-mute); }
/* 区位图例 */
.arena-zone-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 12px;
    font-size: 12px;
    color: var(--arena-text-mute);
}
.arena-zone-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.arena-zone-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.arena-zone-dot--title { background: #ffd700; }
.arena-zone-dot--ucl { background: #3da5ff; }
.arena-zone-dot--uel { background: #46c47c; }
.arena-zone-dot--drop { background: #ff5a5a; }
.arena-zone-dot--playoff { background: #3da5ff; }
.arena-zone-dot--playin { background: #46c47c; }
.arena-more-link--multi { display: flex; gap: 18px; flex-wrap: wrap; }

/* ── 射手榜可视化增强：进球数据条 + 球衣号 + 空状态 ─────────── */
.arena-scorers-jersey {
    margin-left: 6px;
    font-size: 12px;
    color: var(--arena-text-mute);
    font-weight: 500;
}
.arena-scorers-goals { min-width: 120px; }
.arena-goalbar {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 20px;
}
.arena-goalbar-fill {
    display: block;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--arena-primary), var(--arena-accent, #ff9a36));
    min-width: 4px;
    flex: 0 0 auto;
}
.arena-goalbar strong { font-weight: 800; color: var(--arena-primary); font-size: 15px; }
.arena-scorers-row.rank-1 .arena-scorers-rank,
.arena-scorers-row.rank-2 .arena-scorers-rank,
.arena-scorers-row.rank-3 .arena-scorers-rank { font-weight: 800; }
.arena-scorers-row.rank-1 .arena-scorers-rank { color: #ffd700; }
.arena-scorers-row.rank-2 .arena-scorers-rank { color: #d4d8dc; }
.arena-scorers-row.rank-3 .arena-scorers-rank { color: #cd7f32; }
.arena-empty--scorers { text-align: center; padding: 32px 18px; }
.arena-empty--scorers .arena-empty-sub {
    margin-top: 6px;
    font-size: 13px;
    color: var(--arena-text-mute);
}

/* ===== T6b: 荣誉墙 / Honors Section ===== */
.arena-honors-section {
    margin-top: 24px;
}
.arena-honors-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.arena-honor-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(255,255,255,0.03);
    border-radius: 8px;
    border-left: 3px solid var(--arena-accent, #e8a838);
    transition: background 0.2s;
}
.arena-honor-item:hover {
    background: rgba(255,255,255,0.06);
}
.arena-honor-icon {
    font-size: 28px;
    line-height: 1;
    flex-shrink: 0;
}
.arena-honor-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.arena-honor-info strong {
    font-size: 15px;
    color: var(--arena-text, #e0e0e0);
}
.arena-honor-meta {
    font-size: 13px;
    color: var(--arena-text-mute, #888);
}
.arena-honor-desc {
    margin-top: 4px;
    font-size: 13px;
    color: var(--arena-text-dim, #666);
    line-height: 1.5;
}
@media (max-width: 768px) {
    .arena-honor-item {
        padding: 10px 12px;
        gap: 10px;
    }
    .arena-honor-icon {
        font-size: 22px;
    }
}

/* ── 补齐缺失 class ─────────────────────────────────────── */

.arena-page--error,
.arena-page--scorers,
.arena-page--static {
    color: var(--arena-text);
}
.arena-error {
    text-align: center;
    padding: 60px 20px;
    max-width: 560px;
    margin: 0 auto;
}
.arena-error h1 {
    font-size: 64px;
    font-weight: 800;
    color: var(--arena-primary);
    margin-bottom: 12px;
}
.arena-error p {
    font-size: 16px;
    color: var(--arena-text-mute);
    margin-bottom: 8px;
}
.arena-error-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 24px;
}
.arena-footer-slogan {
    font-size: 13px;
    color: var(--arena-text-mute);
    margin-top: 8px;
    line-height: 1.6;
}
.arena-content-section {
    padding: 32px 0;
}
.arena-section--form {
    padding: 24px 0;
    border-top: 1px solid var(--arena-border);
}
.arena-section--h2h {
    padding: 24px 0;
    border-top: 1px solid var(--arena-border);
}
.arena-directory-grid--compact {
    gap: 8px;
}
.arena-stat-grid--league {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}
.arena-topic-group {
    margin-bottom: 24px;
}
.arena-topic-group h3 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--arena-text);
}
.arena-topic-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.arena-topic-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    background: var(--arena-bg-card);
    border: 1px solid var(--arena-border);
    border-radius: var(--arena-radius-sm);
    font-size: 13px;
    color: var(--arena-text);
}
.arena-topic-pill:hover {
    color: var(--arena-primary);
    border-color: var(--arena-primary);
    text-decoration: none;
}
.arena-meta {
    font-size: 13px;
    color: var(--arena-text-mute);
}
.arena-profile-fact {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid var(--arena-border);
    font-size: 14px;
}
.arena-search-section {
    padding: 24px 0;
}
.arena-surface {
    background: var(--arena-bg-card);
    border-radius: var(--arena-radius);
    padding: 20px;
}
.arena-status--cancelled {
    color: #ff9800;
}
.arena-status--postponed {
    color: #ff9800;
}
