/* SC-ICG AEPLTW Addons — 賽事版位（比賽卡片／詳情／排名／球隊／球員）
   視覺依 AEPL 正式站：白底圓角卡片、Anton 英文大標、海軍藍 #00527E、亮黃 #EFE331 */

.aepl-home, .aepl-detail, .aepl-standings, .aepl-event, .aepl-team, .aepl-player, .aepl-grid, .aepl-list, .aepl-mc, .aepl-section, .aepl-h2, .aepl-title, .aepl-empty, .aepl-note {
	--aepl-navy: var(--theme-palette-color-1, #00527E);
	--aepl-yellow: var(--theme-palette-color-2, #EFE331);
	--aepl-ink: var(--theme-palette-color-3, #262626);
	--aepl-grey: var(--theme-palette-color-4, #787878);
	--aepl-line: var(--theme-palette-color-5, #CFCFCF);
	--aepl-surface: var(--theme-palette-color-6, #F5F5F5);
	--aepl-white: #fff;
	--aepl-radius: 24px;
	--aepl-radius-sm: 14px;
	--aepl-shadow: 0 10px 30px rgba(0, 0, 0, .06);
	--aepl-disp: 'Anton', 'Noto Sans TC', sans-serif;
	--aepl-team: var(--aepl-navy);
	color: var(--aepl-ink);
}

/* ---------- 共用 ---------- */
.aepl-num { font-family: var(--aepl-disp); font-weight: 400; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.aepl-muted { color: var(--aepl-grey); }
.aepl-sep { color: var(--aepl-grey); margin: 0 2px; }
.aepl-empty { color: var(--aepl-grey); text-align: center; padding: 32px 0; }
.aepl-note { font-size: .85em; color: var(--aepl-grey); margin: 12px 0 0; line-height: 1.7; }
.aepl-note--center { text-align: center; margin-top: 28px; }
.aepl-avatar-placeholder { object-fit: cover; }
.aepl-links { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
.aepl-links a, .aepl-more { display: inline-flex; align-items: center; gap: 6px; color: var(--aepl-navy); font-weight: 700; font-size: .9em; text-decoration: none; letter-spacing: .06em; }
.aepl-more { margin-top: 16px; }
.aepl-more .aepl-arrow, .aepl-links .aepl-arrow { transition: transform .3s; }
.aepl-more:hover .aepl-arrow, .aepl-links a:hover .aepl-arrow { transform: translate(2px, -2px); }
.aepl-more:hover, .aepl-links a:hover { color: var(--aepl-ink); }

.aepl-h2 { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin: 0 0 24px; font-size: 1.15em; font-weight: 900; color: var(--aepl-navy); letter-spacing: .08em; }
.aepl-h2__en { font-family: var(--aepl-disp); font-weight: 400; font-size: 2.2em; line-height: 1; color: var(--aepl-ink); letter-spacing: .02em; }
.aepl-section { margin-top: 80px !important; }
.aepl-section--team { margin-top: 60px !important; }
.aepl-section--team .aepl-h2 { margin-bottom: 20px; }
.aepl-section--team .aepl-h2__en { font-size: 1.7em; }
@media (max-width: 640px) { .aepl-section--team .aepl-h2__en { font-size: 1.4em; } }
@media (max-width: 640px) { .aepl-section { margin-top: 56px !important; } .aepl-section--team { margin-top: 60px !important; } }

.aepl-pill { display: inline-flex; align-items: center; gap: 6px; font-size: .72em; font-weight: 700; letter-spacing: .1em; padding: 4px 12px; border-radius: 999px; line-height: 1.4; white-space: nowrap; }
.aepl-pill--pre { border: 1.5px solid var(--aepl-line); color: var(--aepl-grey); }
.aepl-pill--lineup { background: var(--aepl-yellow); color: var(--aepl-ink); }
.aepl-pill--live { background: #E5352B; color: #fff; }
.aepl-pill--played { background: var(--aepl-yellow); color: var(--aepl-ink); }
.aepl-pill--live::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: aepl-blink 1.2s infinite; }
.aepl-pill--final { background: var(--aepl-ink); color: #fff; font-family: var(--aepl-disp); font-weight: 400; font-size: .8em; letter-spacing: .12em; }
.aepl-pill--db { background: var(--aepl-yellow); color: var(--aepl-ink); font-family: var(--aepl-disp); font-weight: 400; font-size: .8em; letter-spacing: .14em; }
@keyframes aepl-blink { 50% { opacity: .3; } }

.aepl-tag { display: inline-flex; align-items: center; gap: 8px; background: var(--aepl-surface); color: var(--aepl-navy); font-family: var(--aepl-disp); font-size: .78em; letter-spacing: .12em; padding: 5px 14px 5px 12px; border-radius: 999px; text-transform: uppercase; }
.aepl-tag::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--aepl-yellow); flex: none; }

.aepl-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 22px; border-radius: 999px; font-weight: 700; font-size: .9em; letter-spacing: .08em; text-decoration: none; background: var(--aepl-navy); color: #fff; transition: background .2s, color .2s; }
.aepl-btn--yellow { background: var(--aepl-yellow); color: var(--aepl-ink); }
.aepl-btn:hover { background: var(--aepl-ink); color: #fff; }

/* 隊徽 */
.aepl-badge { display: inline-flex; align-items: center; justify-content: center; flex: none; border-radius: 50%; background: var(--aepl-surface); border: 2px solid var(--aepl-white); box-shadow: 0 0 0 1.5px var(--aepl-line); color: var(--aepl-team); font-family: var(--aepl-disp); text-decoration: none; overflow: hidden; }
.aepl-badge--logo { background: #fff; }
.aepl-badge--placeholder { background: var(--aepl-surface); }
.aepl-badge--placeholder img { width: 100%; height: 100%; }
.aepl-badge img { width: 78%; height: 78%; object-fit: contain; display: block; }
.aepl-badge--xs { width: 22px; height: 22px; font-size: 9px; }
.aepl-badge--sm { width: 34px; height: 34px; font-size: 12px; }
.aepl-badge--md { width: 64px; height: 64px; font-size: 18px; }
.aepl-badge--lg { width: 88px; height: 88px; font-size: 26px; }
.aepl-badge--xl { width: 140px; height: 140px; font-size: 40px; box-shadow: 0 0 0 2px var(--aepl-line); }
.aepl-badge--tbd { color: var(--aepl-line); border-style: dashed; box-shadow: none; }

/* 網格 */
.aepl-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aepl-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aepl-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .aepl-grid, .aepl-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .aepl-grid, .aepl-grid--2, .aepl-grid--4 { grid-template-columns: minmax(0, 1fr); } .aepl-grid--players { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }

/* ---------- 比賽卡片 ---------- */
.aepl-mc { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); display: flex; flex-direction: column; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.aepl-mc:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, .1); }
.aepl-mc__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 16px 22px 0; }
.aepl-mc__stage { font-size: .8em; font-weight: 700; color: var(--aepl-navy); letter-spacing: .08em; }
.aepl-mc__court { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 8px; padding: 22px 18px 16px; position: relative; }
.aepl-mc__court::before { content: ''; position: absolute; left: 50%; top: 26px; bottom: 20px; border-left: 1.5px dashed var(--aepl-line); }
.aepl-mc__team { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; min-width: 0; }
.aepl-mc__team-name { font-weight: 700; font-size: .95em; color: var(--aepl-ink); text-decoration: none; line-height: 1.4; letter-spacing: .04em; }
.aepl-mc__team-name:hover { color: var(--aepl-navy); }
.aepl-mc__team-name--tbd { color: var(--aepl-grey); font-weight: 500; }
.aepl-mc__team-en { font-family: var(--aepl-disp); font-size: .7em; letter-spacing: .1em; color: var(--aepl-grey); text-transform: uppercase; margin-top: -4px; }
.aepl-mc__team.is-winner .aepl-badge { box-shadow: 0 0 0 3px var(--aepl-yellow); }
.aepl-mc__mid { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding-top: 12px; position: relative; z-index: 1; background: var(--aepl-white); min-width: 84px; }
.aepl-mc__score { display: flex; align-items: baseline; gap: 6px; }
.aepl-mc__score .aepl-num { font-size: 2.6em; line-height: 1; color: var(--aepl-line); }
.aepl-mc__score .aepl-num.is-win { color: var(--aepl-navy); }
.aepl-mc__colon { font-family: var(--aepl-disp); font-size: 1.6em; color: var(--aepl-line); line-height: 1; }
.aepl-mc__vs { font-family: var(--aepl-disp); font-size: 1.5em; letter-spacing: .12em; color: var(--aepl-grey); line-height: 1; padding: 8px 0; }
.aepl-mc__time { font-family: var(--aepl-disp); font-size: 1.05em; color: var(--aepl-ink); letter-spacing: .04em; }
.aepl-mc__db { font-family: var(--aepl-disp); font-size: .62em; letter-spacing: .14em; background: var(--aepl-yellow); color: var(--aepl-ink); padding: 2px 8px; border-radius: 4px; }
.aepl-mc__bottom { margin-top: auto; background: var(--aepl-surface); padding: 16px 22px 20px; display: flex; flex-direction: column; }
.aepl-mc__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .78em; color: var(--aepl-grey); letter-spacing: .04em; margin-bottom: 12px; }
.aepl-mc__meta b { color: var(--aepl-ink); }
.aepl-mc__bottom .aepl-note { margin-top: 4px; }
.aepl-mc__bottom .aepl-more { margin-top: 14px; align-self: flex-start; }

/* 五局戰局條 */
.aepl-strip { display: flex; gap: 5px; }
.aepl-strip__cell { flex: 1; min-width: 0; height: 44px; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.2; font-size: .68em; letter-spacing: .04em; background: var(--aepl-white); border: 1.5px solid var(--aepl-line); color: var(--aepl-grey); }
.aepl-strip__score { font-family: var(--aepl-disp); font-size: 1.25em; letter-spacing: .02em; margin-top: 2px; }
.aepl-strip__cell--home { background: var(--aepl-navy); border-color: var(--aepl-navy); color: #fff; }
.aepl-strip__cell--away { background: var(--aepl-yellow); border-color: var(--aepl-yellow); color: var(--aepl-ink); }
.aepl-strip__cell--db { border-style: dashed; }
.aepl-strip__cell--home.aepl-strip__cell--db, .aepl-strip__cell--away.aepl-strip__cell--db { border-style: solid; }
.aepl-strip__cell--skip, .aepl-strip__cell--empty { opacity: .6; }

/* 陣容列 */
.aepl-lineup__row { display: grid; grid-template-columns: 1fr 48px 1fr; align-items: center; gap: 6px; padding: 7px 0; font-size: .82em; border-bottom: 1px dashed var(--aepl-line); }
.aepl-lineup__row:last-child { border-bottom: 0; }
.aepl-lineup__home { text-align: right; }
.aepl-lineup__type { text-align: center; font-size: .78em; font-weight: 700; color: var(--aepl-navy); letter-spacing: .06em; }
.aepl-lineup a { color: var(--aepl-ink); text-decoration: none; }
.aepl-lineup a:hover { color: var(--aepl-navy); }

/* 依日期分組 */
.aepl-day + .aepl-day { margin-top: 40px; }
.aepl-day__title { display: flex; align-items: baseline; gap: 12px; font-size: 1.05em; font-weight: 900; margin: 0 0 18px; color: var(--aepl-ink); }
.aepl-day__title::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--aepl-yellow); flex: none; align-self: center; }

/* ---------- 單場詳情 ---------- */
.aepl-hero { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); overflow: hidden; }
.aepl-hero__top { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; padding: 16px 28px; background: var(--aepl-surface); font-size: .82em; color: var(--aepl-grey); letter-spacing: .04em; }
.aepl-hero__stage { font-weight: 700; color: var(--aepl-navy); }
.aepl-hero__stage a { color: inherit; text-decoration: none; }
.aepl-hero__main { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 40px 28px 24px; position: relative; }
.aepl-hero__main::before { content: ''; position: absolute; left: 50%; top: 30px; bottom: 20px; border-left: 1.5px dashed var(--aepl-line); }
.aepl-hero__team { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; position: relative; z-index: 1; }
.aepl-hero__name { font-weight: 900; font-size: 1.25em; letter-spacing: .06em; }
.aepl-hero__name a { color: var(--aepl-ink); text-decoration: none; }
.aepl-hero__name a:hover { color: var(--aepl-navy); }
.aepl-hero__en { font-family: var(--aepl-disp); font-size: .8em; letter-spacing: .12em; color: var(--aepl-grey); text-transform: uppercase; margin-top: -6px; }
.aepl-hero__team.is-winner .aepl-badge { box-shadow: 0 0 0 4px var(--aepl-yellow); }
.aepl-winner-tag { font-family: var(--aepl-disp); font-size: .7em; letter-spacing: .2em; background: var(--aepl-yellow); color: var(--aepl-ink); padding: 3px 12px; border-radius: 4px; }
.aepl-hero__score { display: flex; align-items: baseline; gap: 14px; background: var(--aepl-white); padding: 0 16px; position: relative; z-index: 1; }
.aepl-hero__score .aepl-num { font-size: 6em; line-height: 1; color: var(--aepl-line); }
.aepl-hero__score .aepl-num.is-win { color: var(--aepl-navy); }
.aepl-hero__colon { font-family: var(--aepl-disp); font-size: 3em; color: var(--aepl-line); line-height: 1; }
.aepl-hero__score { flex-direction: row; }
.aepl-hero__vs { font-family: var(--aepl-disp); font-size: 3em; letter-spacing: .12em; color: var(--aepl-grey); line-height: 1; }
.aepl-hero__time { font-family: var(--aepl-disp); font-size: 1.4em; color: var(--aepl-ink); }
.aepl-hero__foot { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; padding: 0 28px 28px; }
@media (max-width: 640px) {
	.aepl-hero__main { padding: 28px 16px 16px; gap: 8px; }
	.aepl-hero__score .aepl-num { font-size: 3.4em; }
	.aepl-hero__colon, .aepl-hero__vs { font-size: 1.8em; }
	.aepl-hero__name { font-size: 1em; }
	.aepl-badge--lg { width: 64px; height: 64px; font-size: 20px; }
}

.aepl-games { margin-top: 48px; }
.aepl-game { background: var(--aepl-white); border-radius: var(--aepl-radius-sm); box-shadow: var(--aepl-shadow); margin-bottom: 14px; overflow: hidden; }
.aepl-game__head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 10px 20px; background: var(--aepl-surface); }
.aepl-game__no { font-family: var(--aepl-disp); font-size: .85em; letter-spacing: .14em; color: var(--aepl-navy); }
.aepl-game__type { font-weight: 900; font-size: .95em; letter-spacing: .06em; }
.aepl-game__dur { margin-left: auto; font-size: .78em; color: var(--aepl-grey); }
.aepl-game__body { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 16px 20px; }
.aepl-game__side { font-weight: 700; font-size: .95em; }
.aepl-game__side a { color: var(--aepl-ink); text-decoration: none; }
.aepl-game__side a:hover { color: var(--aepl-navy); }
.aepl-game__side--home { text-align: right; }
.aepl-game__score { display: flex; align-items: baseline; gap: 8px; font-family: var(--aepl-disp); font-size: 2em; line-height: 1; }
.aepl-game__score .is-win { background: var(--aepl-yellow); color: var(--aepl-ink); padding: 2px 12px; border-radius: 8px; }
.aepl-game__score .is-lose { color: var(--aepl-grey); padding: 2px 6px; }
.aepl-game__colon { font-size: .6em; color: var(--aepl-line); }
.aepl-game__score--pending { color: var(--aepl-line); }
.aepl-game__foot { padding: 8px 20px; border-top: 1px dashed var(--aepl-line); font-size: .82em; color: var(--aepl-grey); }
.aepl-game__foot b { color: var(--aepl-ink); }
.aepl-game--db { background: var(--aepl-navy); color: #fff; }
.aepl-game--db .aepl-game__head { background: rgba(255, 255, 255, .08); }
.aepl-game--db .aepl-game__no { color: var(--aepl-yellow); }
.aepl-game--db .aepl-game__dur { color: rgba(255, 255, 255, .7); }
.aepl-game--db .aepl-game__side, .aepl-game--db .aepl-game__side a { color: #fff; }
.aepl-game--db .aepl-game__score .is-lose { color: rgba(255, 255, 255, .55); }
.aepl-game--db .aepl-game__foot { border-top-color: rgba(255, 255, 255, .25); color: rgba(255, 255, 255, .8); }
.aepl-game--db .aepl-game__foot b { color: var(--aepl-yellow); }
@media (max-width: 640px) {
	.aepl-game__body { grid-template-columns: 1fr; text-align: center; }
	.aepl-game__side--home { text-align: center; }
	.aepl-game__score { justify-content: center; }
}
.aepl-result { margin-top: 18px; font-size: .95em; }
.aepl-result b { font-family: var(--aepl-disp); font-weight: 400; font-size: 1.15em; color: var(--aepl-navy); }

.aepl-rot { padding: 4px 20px 18px; }
.aepl-rot h4 { font-size: .78em; font-weight: 700; letter-spacing: .12em; color: var(--aepl-yellow); margin: 10px 0; }
.aepl-rot__strip { display: flex; gap: 4px; overflow-x: auto; padding-bottom: 6px; }
.aepl-rot__seg { min-width: 72px; flex: 1; border: 1.5px solid rgba(255, 255, 255, .35); border-radius: 8px; padding: 6px 4px; text-align: center; display: flex; flex-direction: column; gap: 2px; }
.aepl-rot__range { font-family: var(--aepl-disp); font-size: .72em; color: rgba(255, 255, 255, .6); letter-spacing: .04em; }
.aepl-rot__home { font-size: .8em; font-weight: 700; color: var(--aepl-yellow); }
.aepl-rot__away { font-size: .8em; font-weight: 700; }
.aepl-rot__note { font-size: .78em; color: rgba(255, 255, 255, .75); margin: 8px 0 0; }

.aepl-format { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.aepl-format li { background: var(--aepl-white); border-radius: var(--aepl-radius-sm); box-shadow: var(--aepl-shadow); padding: 14px 20px; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; font-weight: 700; }
.aepl-format__no { font-family: var(--aepl-disp); font-size: .85em; letter-spacing: .14em; color: var(--aepl-navy); }
.aepl-format small { font-weight: 400; color: var(--aepl-grey); font-size: .82em; }

.aepl-meta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 28px; }
.aepl-meta-grid--tight { margin-top: 16px; }
.aepl-meta-cell { background: var(--aepl-white); border-radius: var(--aepl-radius-sm); box-shadow: var(--aepl-shadow); padding: 12px 16px; display: flex; flex-direction: column; gap: 2px; }
.aepl-meta-cell__k { font-size: .72em; letter-spacing: .14em; color: var(--aepl-grey); }
.aepl-meta-cell__v { font-weight: 700; font-size: .95em; }
.aepl-meta-cell__v a { color: var(--aepl-navy); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.aepl-related { margin-top: 56px; }

/* ---------- 排名 ---------- */
.aepl-standings__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 900px) { .aepl-standings__groups { grid-template-columns: minmax(0, 1fr); } }
.aepl-table-wrap { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); overflow: hidden; overflow-x: auto; padding-bottom: 6px; }
.aepl-table { width: 100%; border-collapse: collapse; font-size: .9em; margin: 0; }
.aepl-table caption { caption-side: top; text-align: left; padding: 16px 22px 8px; font-weight: 900; color: var(--aepl-navy); letter-spacing: .08em; }
.aepl-table__group { display: inline-block; font-family: var(--aepl-disp); font-weight: 400; font-size: 1.6em; color: var(--aepl-ink); line-height: 1; letter-spacing: .04em; margin-right: 12px; vertical-align: baseline; white-space: nowrap; }
.aepl-table th { font-size: .72em; letter-spacing: .1em; color: var(--aepl-grey); font-weight: 700; text-align: center; padding: 10px 6px; background: var(--aepl-surface); border: 0; white-space: nowrap; }
.aepl-table td { padding: 12px 6px; text-align: center; border: 0; border-bottom: 1px solid var(--aepl-surface); vertical-align: middle; }
.aepl-table th { border: 0; }
.aepl-table, .aepl-table tr, .aepl-table thead, .aepl-table tbody { border: 0; background: transparent; }
.aepl-table tr:last-child td { border-bottom: 0; }
.aepl-table .c-team { text-align: left; width: 100%; }
.aepl-team-cell { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; white-space: nowrap; font-size: .95em; }
.aepl-team-cell a { color: var(--aepl-ink); text-decoration: none; }
.aepl-team-cell a:hover { color: var(--aepl-navy); }
.aepl-table .c-rank { width: 56px; padding-left: 14px; padding-right: 6px; text-align: center; }
.aepl-table td.c-rank { line-height: 1; }
.aepl-table th.c-team { padding-left: 4px; }
.aepl-table td.aepl-num { font-size: 1.15em; color: var(--aepl-ink); min-width: 34px; }
.aepl-rank { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; border-radius: 50%; font-family: var(--aepl-disp); font-size: .9em; line-height: 1; background: var(--aepl-surface); color: var(--aepl-grey); vertical-align: middle; }
.aepl-table tr.is-qualified .aepl-rank { background: var(--aepl-yellow); color: var(--aepl-ink); }
.aepl-table--norank .aepl-rank { background: none; color: var(--aepl-line); }
.aepl-table--compact td { padding: 9px 8px; }
.aepl-table--compact caption { padding: 12px 18px 6px; }

.aepl-podium { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 28px; }
@media (max-width: 900px) { .aepl-podium { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.aepl-podium__item { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); padding: 22px 18px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; position: relative; overflow: hidden; }
.aepl-podium__item--1 { background: var(--aepl-navy); color: #fff; }
.aepl-podium__item--1 .aepl-badge { box-shadow: 0 0 0 4px var(--aepl-yellow); }
.aepl-podium__no { position: absolute; right: 12px; top: 2px; font-family: var(--aepl-disp); font-size: 3.6em; line-height: 1; color: var(--aepl-surface); }
.aepl-podium__item--1 .aepl-podium__no { color: rgba(255, 255, 255, .12); }
.aepl-podium__en { font-family: var(--aepl-disp); font-size: .72em; letter-spacing: .18em; color: var(--aepl-grey); position: relative; }
.aepl-podium__item--1 .aepl-podium__en { color: var(--aepl-yellow); }
.aepl-podium__name { font-weight: 900; font-size: 1em; color: inherit; text-decoration: none; position: relative; letter-spacing: .04em; }
.aepl-podium__zh { font-size: .78em; color: var(--aepl-grey); position: relative; }
.aepl-podium__item--1 .aepl-podium__zh { color: rgba(255, 255, 255, .7); }

/* ---------- 站賽卡片 ---------- */
.aepl-ec { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.aepl-ec:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, .1); }
.aepl-ec__thumb { display: block; aspect-ratio: 16/9; overflow: hidden; }
.aepl-ec__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aepl-ec__body { padding: 20px 24px 24px; display: flex; flex-direction: column; }
.aepl-ec__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 14px; }
.aepl-ec__title { margin: 0 0 8px; display: flex; flex-direction: column; gap: 2px; font-size: 1.1em; font-weight: 900; letter-spacing: .06em; }
.aepl-ec__title a { color: var(--aepl-ink); text-decoration: none; }
.aepl-ec__title a:hover { color: var(--aepl-navy); }
.aepl-ec__en { font-family: var(--aepl-disp); font-weight: 400; font-size: 2.2em; line-height: 1; color: var(--aepl-navy); letter-spacing: .02em; }
.aepl-ec__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .82em; color: var(--aepl-grey); letter-spacing: .04em; }
.aepl-ec__champ { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 10px 14px; background: var(--aepl-surface); border-radius: 999px; font-weight: 700; font-size: .9em; }
.aepl-ec__champ small { display: block; font-family: var(--aepl-disp); font-weight: 400; font-size: .7em; letter-spacing: .16em; color: var(--aepl-navy); }
.aepl-ec .aepl-btn { align-self: flex-start; margin-top: 16px; }

.aepl-event__head { margin-bottom: 8px; }
.aepl-event__tags { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.aepl-event__content { margin-top: 32px; }

/* ---------- 球隊 ---------- */
.aepl-tc { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); padding: 24px; display: flex; flex-direction: column; gap: 18px; transition: transform .25s, box-shadow .25s; border-top: 5px solid var(--aepl-team); }
.aepl-tc:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, .1); }
.aepl-tc__head { display: flex; align-items: center; gap: 16px; }
.aepl-tc__city { font-family: var(--aepl-disp); font-size: .75em; letter-spacing: .16em; color: var(--aepl-grey); }
.aepl-tc__name { margin: 2px 0 0; font-size: 1.15em; font-weight: 900; letter-spacing: .04em; }
.aepl-tc__name a { color: var(--aepl-ink); text-decoration: none; }
.aepl-tc__name a:hover { color: var(--aepl-navy); }
.aepl-tc__en { display: block; font-family: var(--aepl-disp); font-size: .8em; letter-spacing: .1em; color: var(--aepl-navy); text-transform: uppercase; }
.aepl-tc__faces { display: flex; }
.aepl-face { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--aepl-line); background: var(--aepl-surface); display: inline-flex; align-items: center; justify-content: center; margin-left: -8px; font-size: .8em; font-weight: 700; color: var(--aepl-grey); text-decoration: none; transition: transform .2s; }
.aepl-face:first-child { margin-left: 0; }
.aepl-face:hover { transform: translateY(-3px); z-index: 1; }
.aepl-face img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aepl-tc .aepl-more { margin-top: 0; }

.aepl-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; }
.aepl-stat { background: var(--aepl-surface); border-radius: var(--aepl-radius-sm); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.aepl-stat__v { font-size: 1.9em; line-height: 1; color: var(--aepl-navy); }
.aepl-stat__v small { font-size: .55em; color: var(--aepl-grey); margin-left: 2px; }
.aepl-stat__k { font-size: .72em; letter-spacing: .12em; color: var(--aepl-grey); }
.aepl-stats--hero .aepl-stat { background: var(--aepl-white); box-shadow: var(--aepl-shadow); }
.aepl-stats--row { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }

.aepl-team__hero { display: grid; grid-template-columns: auto 1fr; gap: 20px 32px; align-items: center; background: var(--aepl-surface); border-radius: var(--aepl-radius); padding: 32px; }
.aepl-team__hero .aepl-stats--hero { grid-column: 1 / -1; }
.aepl-team__en { font-family: var(--aepl-disp); font-size: 1.8em; letter-spacing: .04em; color: var(--aepl-navy); line-height: 1.1; text-transform: uppercase; }
@media (max-width: 640px) {
	.aepl-team__hero { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 24px 18px; }
	.aepl-team__hero .aepl-links { justify-content: center; }
	.aepl-team__hero .aepl-stats--hero { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: left; }
	.aepl-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aepl-honours { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.aepl-honour { background: var(--aepl-white); border-radius: var(--aepl-radius-sm); box-shadow: var(--aepl-shadow); padding: 14px 20px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.aepl-honour__rank { font-family: var(--aepl-disp); font-size: 1.1em; padding: 4px 14px; border-radius: 999px; background: var(--aepl-surface); color: var(--aepl-grey); letter-spacing: .08em; }
.aepl-honour--1 .aepl-honour__rank { background: var(--aepl-yellow); color: var(--aepl-ink); }
.aepl-honour--2 .aepl-honour__rank { background: var(--aepl-navy); color: #fff; }
.aepl-honour a { font-weight: 700; color: var(--aepl-ink); text-decoration: none; }
.aepl-honour a:hover { color: var(--aepl-navy); }
.aepl-honour__date { margin-left: auto; font-size: .82em; color: var(--aepl-grey); }

/* ---------- 球員 ---------- */
.aepl-pc { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.aepl-pc:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, .1); }
.aepl-pc__photo { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; background: linear-gradient(180deg, var(--aepl-surface), #e9e9e9); overflow: hidden; color: var(--aepl-line); font-family: var(--aepl-disp); font-size: 3em; text-decoration: none; }
.aepl-pc__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform .4s; }
.aepl-pc:hover .aepl-pc__photo img { transform: scale(1.04); }
.aepl-pc__body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.aepl-pc__team { display: inline-flex; align-items: center; gap: 6px; font-size: .75em; font-weight: 700; color: var(--aepl-navy); text-decoration: none; letter-spacing: .06em; }
.aepl-pc__name { margin: 0; font-size: 1.05em; font-weight: 900; letter-spacing: .06em; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.aepl-pc__name a { color: var(--aepl-ink); text-decoration: none; }
.aepl-pc__name a:hover { color: var(--aepl-navy); }
.aepl-pc__name small { font-family: var(--aepl-disp); font-weight: 400; font-size: .72em; letter-spacing: .1em; color: var(--aepl-grey); }
.aepl-pc__role { font-size: .75em; color: var(--aepl-grey); letter-spacing: .1em; }
.aepl-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.aepl-chip { font-size: .72em; padding: 3px 10px; border-radius: 999px; background: var(--aepl-surface); color: var(--aepl-ink); letter-spacing: .04em; }
.aepl-chip b { font-family: var(--aepl-disp); font-weight: 400; color: var(--aepl-navy); margin-right: 5px; letter-spacing: .08em; }

.aepl-player__hero { display: grid; grid-template-columns: minmax(260px, 380px) 1fr; gap: 40px; align-items: start; }
.aepl-player__card { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); overflow: hidden; }
.aepl-player__photo { aspect-ratio: 4/5; background: var(--aepl-surface); overflow: hidden; }
.aepl-player__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.aepl-player__card-body { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 22px 20px; }
.aepl-player__card-text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.aepl-player__card-name { font-weight: 900; font-size: 1.15em; color: var(--aepl-navy); letter-spacing: .06em; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.aepl-player__card-name span { font-family: var(--aepl-disp); font-weight: 400; font-size: .85em; letter-spacing: .1em; color: var(--aepl-navy); }
.aepl-player__card-team { display: inline-flex; align-items: center; gap: 8px; font-size: .85em; font-weight: 500; color: var(--aepl-grey); text-decoration: none; letter-spacing: .04em; }
.aepl-player__card-team:hover { color: var(--aepl-navy); }
.aepl-ig { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 50%; background: var(--aepl-surface); color: var(--aepl-ink); margin-top: 4px; transition: background .2s, color .2s; }
.aepl-ig:hover { background: var(--aepl-navy); color: #fff; }
.aepl-player__num { flex: none; font-family: var(--aepl-disp); font-size: 1.8em; color: var(--aepl-navy); background: var(--aepl-surface); border-radius: 12px; padding: 8px 14px; line-height: 1; }
.aepl-player__info { position: relative; }
.aepl-player__intro { position: relative; z-index: 1; margin-top: 24px; padding: 0 8px; line-height: 1.9; color: var(--aepl-ink); }
.aepl-player__intro-label { display: block; font-family: var(--aepl-disp); font-size: .8em; letter-spacing: .18em; color: var(--aepl-navy); margin-bottom: 6px; }
.aepl-player__intro p { margin: 0 0 .8em; }
.aepl-player__intro p:last-child { margin-bottom: 0; }
.aepl-player__watermark { position: absolute; right: 0; top: -70px; font-family: var(--aepl-disp); font-size: 9em; line-height: 1; color: var(--aepl-surface); pointer-events: none; z-index: 0; }
.aepl-kv { position: relative; z-index: 1; background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); padding: 8px 32px; }
.aepl-kv__row { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--aepl-surface); font-size: .98em; }
.aepl-kv__row:last-child { border-bottom: 0; }
.aepl-kv__k { font-weight: 700; color: var(--aepl-ink); letter-spacing: .08em; }
.aepl-kv__v { color: var(--aepl-ink); letter-spacing: .04em; }
.aepl-kv__v a { color: var(--aepl-navy); text-decoration: none; }
@media (max-width: 800px) { .aepl-player__hero { grid-template-columns: 1fr; gap: 24px; } .aepl-player__card { max-width: 420px; } .aepl-player__watermark { display: none; } .aepl-kv { padding: 4px 20px; } .aepl-kv__row { grid-template-columns: 1fr; gap: 4px; padding: 14px 0; } }

.aepl-achievements { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.aepl-achievements li { background: var(--aepl-white); border-radius: var(--aepl-radius-sm); box-shadow: var(--aepl-shadow); padding: 12px 18px 12px 40px; position: relative; font-size: .95em; }
.aepl-achievements li::before { content: ''; position: absolute; left: 18px; top: 22px; width: 9px; height: 9px; border-radius: 50%; background: var(--aepl-yellow); }

/* ---------- 列表式場次 ---------- */
.aepl-list { background: var(--aepl-white); border-radius: var(--aepl-radius); box-shadow: var(--aepl-shadow); overflow: hidden; }
.aepl-row { display: grid; grid-template-columns: 120px 110px 1fr 96px 1fr 190px; align-items: center; gap: 12px; padding: 16px 24px; border-bottom: 1px solid var(--aepl-surface); color: var(--aepl-ink); text-decoration: none; transition: background .2s; }
.aepl-row:last-child { border-bottom: 0; }
.aepl-row:hover { background: var(--aepl-surface); }
.aepl-row--static:hover { background: transparent; }
.aepl-row--static .aepl-row__status { padding-right: 24px; }
.aepl-row__when { display: flex; flex-direction: column; gap: 2px; font-size: .82em; color: var(--aepl-grey); letter-spacing: .04em; }
.aepl-row__time { font-family: var(--aepl-disp); font-size: 1.25em; color: var(--aepl-ink); letter-spacing: .04em; }
.aepl-row__stage { font-size: .8em; font-weight: 700; color: var(--aepl-navy); letter-spacing: .06em; display: flex; flex-direction: column; gap: 2px; }
.aepl-row__event { font-weight: 400; color: var(--aepl-grey); }
.aepl-row__team { display: flex; align-items: center; gap: 10px; min-width: 0; font-weight: 700; font-size: .98em; letter-spacing: .04em; }
.aepl-row__team--home { justify-content: flex-end; text-align: right; }
.aepl-row__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aepl-row__team.is-winner .aepl-badge { box-shadow: 0 0 0 3px var(--aepl-yellow); }
.aepl-row--finished .aepl-row__team:not(.is-winner) .aepl-row__name { color: var(--aepl-grey); font-weight: 500; }
.aepl-row__score { display: flex; align-items: baseline; justify-content: center; gap: 6px; }
.aepl-row__score .aepl-num { font-size: 1.9em; line-height: 1; color: var(--aepl-line); }
.aepl-row__score .aepl-num.is-win { color: var(--aepl-navy); }
.aepl-row__colon { font-family: var(--aepl-disp); font-size: 1.1em; color: var(--aepl-line); }
.aepl-row__score--vs { font-family: var(--aepl-disp); font-size: 1.2em; letter-spacing: .12em; color: var(--aepl-grey); }
.aepl-row__status { display: flex; align-items: center; justify-content: flex-end; gap: 10px; color: var(--aepl-navy); }
.aepl-row__status .aepl-pill { font-size: .7em; }
.aepl-row__db { font-family: var(--aepl-disp); font-size: .7em; letter-spacing: .1em; background: var(--aepl-yellow); color: var(--aepl-ink); padding: 2px 7px; border-radius: 4px; }
.aepl-row .aepl-arrow { transition: transform .3s; }
.aepl-row:hover .aepl-arrow { transform: translate(2px, -2px); }
@media (max-width: 900px) {
	.aepl-row { grid-template-columns: 1fr 80px 1fr; grid-template-areas: "when when when" "home score away" "stage stage status"; gap: 8px 10px; padding: 14px 18px; }
	.aepl-row__when { grid-area: when; flex-direction: row; gap: 10px; align-items: baseline; }
	.aepl-row__stage { grid-area: stage; flex-direction: row; gap: 8px; }
	.aepl-row__team--home { grid-area: home; }
	.aepl-row__team--away { grid-area: away; }
	.aepl-row__score { grid-area: score; }
	.aepl-row__status { grid-area: status; }
	.aepl-row__name { white-space: normal; font-size: .9em; }
}

/* ---------- 區塊標題 ---------- */
/* Blocksy 對 .entry-content 直接子元素有較高權重的間距規則，這裡以 !important 固定區塊間距 */
.aepl-title { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-top: 100px !important; margin-bottom: 28px; }
@media (max-width: 640px) { .aepl-title { margin-top: 60px !important; } }
.aepl-title:first-child { margin-top: 0 !important; }
.aepl-title .aepl-tag { margin-bottom: 14px; }
.aepl-title .aepl-h2 { margin: 0; }
.aepl-h2--lg .aepl-h2__en { font-size: 3em; }
.aepl-title .aepl-more { margin: 0 0 10px; }
.aepl-home__foot { display: flex; justify-content: flex-end; margin-top: 8px; }
.aepl-home__foot .aepl-more { margin-top: 12px; }

/* ---------- 首頁版位 ---------- */
.aepl-home__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.aepl-home__head .aepl-more { margin-top: 0; }
.aepl-home__title { margin: 10px 0 0; font-size: 1.25em; font-weight: 900; letter-spacing: .06em; color: var(--aepl-ink); display: flex; align-items: center; gap: 12px; }
.aepl-home__standings { margin-top: 48px; }
.aepl-home__foot { margin-top: 16px; text-align: right; }
.aepl-home__foot .aepl-more { margin-top: 0; }

/* ---------- 球員輪播（transform 無限循環，無原生捲軸） ---------- */
.aepl-slider { position: relative; --aepl-slider-gap: 24px; --aepl-slider-cols: 4; }
.aepl-slider--3 { --aepl-slider-cols: 3; }
.aepl-slider--5 { --aepl-slider-cols: 5; }
.aepl-slider__viewport { overflow: hidden; padding: 0 2px; margin: 0 -2px; touch-action: pan-y; cursor: grab; }
.aepl-slider__viewport:active { cursor: grabbing; }
.aepl-slider__track { display: flex; gap: var(--aepl-slider-gap); will-change: transform; }
.aepl-slider__item { flex: 0 0 calc((100% - var(--aepl-slider-gap) * (var(--aepl-slider-cols) - 1)) / var(--aepl-slider-cols)); min-width: 0; }
.aepl-slider__item .aepl-pc { height: 100%; box-shadow: none; border: 1px solid #ECECEC; }
.aepl-slider__item .aepl-pc:hover { transform: none; box-shadow: none; border-color: var(--aepl-line); }
.aepl-slider__item img { pointer-events: none; -webkit-user-drag: none; user-select: none; }
.aepl-slider__btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--aepl-white); color: var(--aepl-navy); box-shadow: var(--aepl-shadow); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s, color .2s; padding: 0; }
.aepl-slider__btn:hover { background: var(--aepl-navy); color: #fff; }
.aepl-slider__btn--prev { left: -22px; }
.aepl-slider__btn--next { right: -22px; }
.aepl-slider--static .aepl-slider__btn { display: none; }
.aepl-slider--static .aepl-slider__viewport { cursor: default; }
@media (max-width: 1024px) { .aepl-slider { --aepl-slider-cols: 3; } }
@media (max-width: 640px) { .aepl-slider { --aepl-slider-cols: 2; --aepl-slider-gap: 14px; } .aepl-slider__btn { width: 36px; height: 36px; } .aepl-slider__btn--prev { left: -8px; } .aepl-slider__btn--next { right: -8px; } }
