/* Touchline Atlas — trang con dữ liệu: trang trận (decisions.md §6; ảnh 03, 04, 25, 26, 36) và hub giải (§10; ảnh 06).
   Chỉ nạp ở các trang đó, sau ta.css. */

/* ---------- Hero trận (nền sân dùng chung với .ta-hero trong ta.css) ---------- */
.ta-mhero { position: relative; overflow: hidden; color: #fff; isolation: isolate; }
.ta-mhero__in { position: relative; display: flex; flex-direction: column; align-items: center; padding-top: 14px; padding-bottom: 18px; }
.ta-crumbs { align-self: stretch; font-size: 13px; color: #C3CEDB; }
.ta-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 6px; }
.ta-crumbs li { margin: 0 !important; display: inline-flex; align-items: center; gap: 6px; }
.ta-crumbs li + li:before { content: "\203A"; color: #8D9DB1; }
.ta-crumbs a { color: #DCE4EE; }
.ta-crumbs a:hover { color: #fff; text-decoration: underline; }
.ta-crumbs [aria-current] { color: #fff; font-weight: 600; }
.ta-mhero__h1 { color: #fff; font-size: 26px; font-weight: 700; line-height: 1.25; text-align: center; max-width: 780px; margin: 12px 0 6px; text-shadow: 0 2px 12px rgba(0, 0, 0, .45); }.ta-h1mark { display: inline-flex; vertical-align: -4px; }
.ta-h1mark .ta-ico { width: 26px; height: 26px; }
.ta-h1mark.is-hit { color: #4BE39A; }
.ta-h1mark.is-miss { color: #FF8A96; }
.ta-mhero__teams { width: 100%; max-width: 880px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, auto) minmax(0, 1fr); align-items: center; gap: 16px; margin: 6px 0 12px; }
.ta-mhero__team { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; min-width: 0; }
.ta-mhero__name { font-size: 26px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; text-shadow: 0 2px 10px rgba(0, 0, 0, .45); }
.ta-mhero__mid { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; color: #D4DDE8; font-size: 14px; }
.ta-mhero__league { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: #fff; }
.ta-mhero__vs { font-size: 30px; font-weight: 800; color: #fff; line-height: 1.1; margin: 2px 0; letter-spacing: .02em; }
.ta-mhero__ft { margin-top: 4px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #E6EDF3; }
.ta-mhero__score { font-size: 60px; font-weight: 800; line-height: 1; color: #fff; letter-spacing: -.02em; font-variant-numeric: tabular-nums; text-shadow: 0 3px 16px rgba(0, 0, 0, .5); }
.ta-mhero__score i { font-style: normal; margin: 0 .16em; opacity: .75; }
.ta-mhero__when { color: #fff; font-weight: 600; }
.ta-mhero__was { display: block; font-weight: 500; }
.ta-mhero__venue { font-size: 13px; color: #B8C4D3; }
.ta-mhero__mid .ta-sample { margin-top: 6px; background: rgba(0, 154, 255, .16); color: #A9DCFF; box-shadow: inset 0 0 0 1px rgba(0, 154, 255, .45); }
.ta-mhero__flag { display: inline-flex; align-items: center; gap: 6px; margin: 6px 0 2px; padding: 6px 12px; border-radius: 999px; background: #F5B83D; color: #241500; font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ta-mhero__flag .ta-ico { width: 16px; height: 16px; }
.ta-mhero__panel { display: none; margin: 2px 0 4px; }
.ta-mhero__foot { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 12px; margin-top: 6px; color: #C3CEDB; font-size: 12.5px; }
.ta-mhero .ta-lock { color: #DCE4EE; }
.ta-mhero__credit { color: #B8C4D3; }
.ta-mhero__alert { display: flex; align-items: flex-start; gap: 14px; max-width: 580px; margin: 4px 0; padding: 16px 20px; border-radius: 10px; background: rgba(5, 16, 30, .8); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ta-mhero__alert b { display: block; font-size: 21px; color: #fff; margin-bottom: 2px; }
.ta-mhero__alert span { color: #D4DDE8; font-size: 14.5px; line-height: 1.5; }
.ta-mhero__alert .ta-mhero__alerticon { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex: none; background: #F5B83D; color: #241500; }
.ta-mhero__alerticon .ta-ico { width: 22px; height: 22px; }
.ta-mhero__note { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 0; padding: 10px 16px; border-radius: 9px; background: rgba(5, 16, 30, .75); border: 1px solid rgba(255, 255, 255, .12); color: #E6EDF3; font-size: 14px; }

/* ---------- Mục lục dính (dưới header dính 56px của Flatsome) ---------- */
.ta-toc { position: sticky; top: 56px; z-index: 20; background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.ta-toc__in { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.ta-toc__in::-webkit-scrollbar { display: none; }
.ta-toc__a { padding: 13px 16px 10px; border-bottom: 3px solid transparent; color: var(--body); font-size: 14.5px; font-weight: 600; white-space: nowrap; }
.ta-toc__a:hover { color: var(--accent); }
.ta-toc__a.is-active { color: var(--accent); border-bottom-color: var(--accent); }
.ta-matchpage [id] { scroll-margin-top: 120px; }

/* ---------- Bố cục: cột trái + cột phải; mobile xếp a → side → b ---------- */
.ta-mpage { padding-top: 22px; padding-bottom: 32px; }
.ta-mlayout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "a side" "b side"; gap: 16px 20px; align-items: start; }
.ta-mlayout__a { grid-area: a; }
.ta-mlayout__side { grid-area: side; }
.ta-mlayout__b { grid-area: b; }
.ta-mstack { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ta-mstack .ta-card + .ta-card { margin-top: 0; }
/* Thẻ trong lưới: khoảng cách do gap lo, bỏ margin của .ta-card + .ta-card để các hàng thẳng nhau. */
.ta-hubleagues > .ta-card, .ta-hubmkts > .ta-card, .ta-modcards > .ta-card { margin: 0; }
.ta-mcard { padding: 18px 20px; }
.ta-mcard .ta-card__head { margin-bottom: 12px; }
.ta-mcard .ta-card__head .ta-sample { margin-left: 0; }
.ta-mcard__h3 { font-size: 15px; margin: 18px 0 2px; }
.ta-quick { margin: 0; font-size: 16px; line-height: 1.6; color: var(--text); }

/* ---------- Xác suất ---------- */
.ta-mpred__lock { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--muted); }
.ta-mpred__lock .ta-ico { width: 15px; height: 15px; }
.ta-mpred__cells { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.ta-mpred__cell { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #FAFBFD; min-width: 0; }
.ta-mpred__cell.is-pick { background: var(--pick-bg); border-color: #B9D5FF; }
.ta-mpred__txt { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ta-mpred__name { font-size: 15px; font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ta-mpred__num { font-size: 34px; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; color: var(--text); font-variant-numeric: tabular-nums; }
.ta-mpred__cell.is-pick .ta-mpred__num { color: var(--accent-strong); }
.ta-mpred__lab { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.ta-mpred__draw { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex: none; background: #E3E9F1; color: var(--muted); font-size: 20px; font-weight: 800; }
.ta-mpred__bar { display: none; }
.ta-mpred .ta-probbar { height: 10px; background: #EEF2F7; }
.ta-mpred__note { margin: 10px 0 0; font-size: 12.5px; color: var(--muted); }
.ta-mpred.is-frozen .ta-mpred__bar { display: block; flex-basis: 100%; height: 6px; border-radius: 999px; background: #E6ECF3; overflow: hidden; }
.ta-mpred.is-frozen .ta-mpred__bar span { display: block; height: 100%; background: var(--draw); }
.ta-mpred.is-frozen .ta-mpred__cell--h .ta-mpred__bar span { background: var(--home); }
.ta-mpred.is-frozen .ta-mpred__cell--a .ta-mpred__bar span { background: var(--away); }
.ta-mpred.is-frozen > .ta-probbar { display: none; }

/* ---------- Tỷ số + ma trận ---------- */
.ta-scores { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ta-score { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 10px 14px; border: 1px solid var(--line); border-radius: 9px; background: #FAFBFD; }
.ta-score__s { font-size: 22px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; }
.ta-score__p { font-size: 17px; font-weight: 700; color: var(--accent-strong); }
.ta-score__bar { width: 100%; max-width: 160px; height: 6px; margin-top: 8px; border-radius: 999px; background: #E6ECF3; overflow: hidden; }
.ta-score__bar span { display: block; height: 100%; background: #0B2E6F; border-radius: 999px; }
.ta-scores__note { margin: 12px 0 2px; font-size: 14px; line-height: 1.55; color: var(--body); }
.ta-gridwrap { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 18px; padding: 0 14px 14px; }
.ta-grid { width: 100%; margin: 0; border-collapse: separate; border-spacing: 3px; font-size: 12.5px; }
.ta-grid caption { caption-side: bottom; padding-top: 6px; text-align: left; font-size: 12px; color: var(--muted); }
.ta-grid th { padding: 4px; border: 0; text-align: center; font-size: 12px; font-weight: 700; color: var(--muted); }
.ta-grid td { padding: 7px 2px; font-size: 12.5px; border: 0; border-radius: 5px; text-align: center; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; background: rgba(0, 96, 252, calc(var(--a) * .5 + .04)); }
.ta-grid td.is-hot { font-weight: 800; }
.ta-top5 h3 { margin: 4px 0 6px; font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.ta-top5 ol { list-style: none; margin: 0; padding: 0; }
.ta-top5 li { display: flex; justify-content: space-between; margin: 0 !important; padding: 6px 0; border-bottom: 1px solid var(--line-soft); font-size: 14px; }

/* ---------- Bảng mô hình ---------- */
.ta-panel th[scope="row"] { text-align: left; font-weight: 400; text-transform: none; letter-spacing: 0; }
.ta-panel th b { display: block; font-size: 14.5px; color: var(--text); }
.ta-panel th small { display: block; font-size: 12px; color: var(--muted); }
.ta-panel__note { display: block; margin-top: 3px; font-size: 12px; color: #7A4A00; }
.ta-panel__num { width: 14%; text-align: center !important; font-variant-numeric: tabular-nums; }
.ta-panel td.is-pick { font-weight: 700; color: var(--accent-strong); }
.ta-panel__score { width: 13%; text-align: center !important; font-weight: 600; }
.ta-panel tr.is-shadow td { color: var(--muted); }
.ta-panel tr.is-final th, .ta-panel tr.is-final td { background: #F2F7FF; border-top: 1px solid #C9DCFB; }
.ta-panel__foot { display: flex; gap: 8px; margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted); }
.ta-panel__foot .ta-ico { width: 16px; height: 16px; margin-top: 2px; }

/* ---------- Phân tích, yếu tố, tin đội ---------- */
.ta-prose p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.7; color: var(--body); }
.ta-byline { display: flex; align-items: flex-start; gap: 8px; margin: 4px 0 0; padding-top: 12px; border-top: 1px solid var(--line-soft); font-size: 13px; color: var(--muted); }
.ta-byline .ta-ico { width: 16px; height: 16px; margin-top: 1px; color: var(--hit); }
.ta-factors, .ta-risks, .ta-links { list-style: none; margin: 0; padding: 0; }
.ta-factors li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 0 !important; padding: 10px 0; border-top: 1px solid var(--line-soft); font-size: 14.5px; color: var(--text); }
.ta-factors li:first-child { border-top: 0; padding-top: 2px; }
.ta-factors .ta-ico { width: 16px; height: 16px; color: var(--accent); }
.ta-src { padding: 2px 8px; border-radius: 999px; background: #F1F4F8; font-size: 12px; color: var(--muted); white-space: nowrap; }
.ta-news__team + .ta-news__team { margin-top: 16px; }
.ta-news__team h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 15.5px; }
.ta-news__table td { font-size: 14px; }
.ta-news__table td.ta-news__src { font-size: 12.5px; color: var(--muted); }
.ta-news__none { margin: 0; padding: 10px 12px; border-radius: 8px; background: #F7F9FC; font-size: 14px; color: var(--muted); }
.ta-status { display: inline-block; padding: 2px 8px; border-radius: 5px; background: #EEF2F7; color: #334155; font-size: 12px; font-weight: 700; white-space: nowrap; }
.ta-status--out { background: #FCE8EA; color: var(--miss); }
.ta-status--doubtful { background: #FFF3DC; color: #6B4100; }
.ta-status--back { background: #E5F5EC; color: var(--hit); }

/* ---------- Thị trường, phong độ, đối đầu, rủi ro ---------- */
.ta-mkts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 26px; }
.ta-mkt__head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 8px; margin-bottom: 8px; }
.ta-mkt h3 { margin: 0; font-size: 15px; }
.ta-mkt__note { font-size: 12px; color: var(--muted); }
.ta-split { display: flex; gap: 2px; height: 10px; border-radius: 999px; overflow: hidden; background: #EEF2F7; }
.ta-split span { display: block; height: 100%; }
.ta-split__y { background: var(--accent); }
.ta-split__n { background: #C9D3E0; }
.ta-mkt__vals { display: flex; justify-content: space-between; margin-top: 6px; font-size: 13.5px; color: var(--muted); }
.ta-mkt__vals b { color: var(--text); }
.ta-mkts__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 14px 0 0; }
.ta-mkts__foot .ta-more { margin-top: 0; }
.ta-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ta-form__team { padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #FAFBFD; }
.ta-form__team h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 16px; }
.ta-form__team h3 small { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 500; color: var(--muted); }
.ta-formstrip { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.ta-fs { flex: 1; max-width: 48px; height: 34px; margin: 0 !important; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; font-weight: 800; cursor: help; }
.ta-fs--w { background: var(--hit); }
.ta-fs--d { background: var(--neutral); }
.ta-fs--l { background: var(--miss); }
.ta-form__cap { margin: 8px 0 0; font-size: 12px; color: var(--muted); }
.ta-h2h td { font-size: 14px; }
.ta-h2h .ta-mark { vertical-align: middle; margin: 0 6px; }
.ta-h2h__date { width: 110px; color: var(--muted); white-space: nowrap; }
.ta-h2h__h { text-align: right !important; }
.ta-h2h__s { width: 84px; text-align: center !important; }
.ta-h2h__s b { display: inline-block; min-width: 58px; padding: 3px 8px; border-radius: 6px; background: #F1F4F8; color: var(--text); font-variant-numeric: tabular-nums; }
/* Lần gặp ngoài giải (cúp, châu Âu): tên giải đấu dưới ngày, hiệp phụ / luân lưu dưới tỷ số (trang trận + /h2h/). */
.ta-h2h__comp, .ta-h2h__note { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.3; white-space: normal; }
.ta-risks li { display: flex; gap: 10px; margin: 0 !important; padding: 9px 0; border-top: 1px solid var(--line-soft); font-size: 14.5px; line-height: 1.5; color: var(--body); }
.ta-risks li:first-child { border-top: 0; padding-top: 0; }
.ta-risks .ta-ico { width: 17px; height: 17px; margin-top: 2px; color: #B26A00; }
.ta-faqitem + .ta-faqitem { margin-top: 8px; }
.ta-faqitem > summary { font-size: 15px; }

/* ---------- Cột phải ---------- */
.ta-dl { margin: 0; }
.ta-dl > div { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-top: 1px solid var(--line-soft); font-size: 13.5px; }
.ta-dl > div:first-child { border-top: 0; padding-top: 0; }
.ta-dl dt, .ta-dl dd { text-transform: none; letter-spacing: 0; }
.ta-dl dt { font-weight: 600; color: var(--text); }
.ta-dl dd { margin: 0; min-width: 0; color: var(--body); overflow-wrap: anywhere; }
.ta-dl code { padding: 1px 6px; border-radius: 4px; background: #F1F4F8; color: var(--text); font-size: 12px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.ta-hash { display: inline-block; margin-top: 4px; }
.ta-wrap { white-space: normal; word-break: break-all; }
.ta-note { display: flex; gap: 10px; margin: 14px 0 0; padding: 12px; border-radius: 9px; background: #EEF5FF; color: #23406E; font-size: 13px; line-height: 1.5; }
.ta-note .ta-ico { width: 18px; height: 18px; margin-top: 1px; color: var(--accent); }
.ta-fresh { width: 100%; margin: 0; border-collapse: collapse; }
.ta-fresh th, .ta-fresh td { padding: 9px 0; border: 0; border-top: 1px solid var(--line-soft); font-size: 13.5px; vertical-align: top; }
.ta-fresh tr:first-child th, .ta-fresh tr:first-child td { border-top: 0; padding-top: 0; }
.ta-fresh th { padding-right: 10px; text-align: left; font-weight: 600; color: var(--text); text-transform: none; letter-spacing: 0; }
.ta-fresh td { text-align: right; color: var(--body); white-space: nowrap; }
.ta-links li { margin: 0 !important; border-top: 1px solid var(--line-soft); }
.ta-links li:first-child { border-top: 0; }
.ta-links a { display: flex; align-items: center; gap: 10px; padding: 10px 0; color: var(--accent); font-size: 14px; font-weight: 600; }
.ta-links__txt { flex: 1; }
.ta-links li:first-child a { padding-top: 0; }

/* ---------- Đã chấm (ảnh 04) ---------- */
.ta-oc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ta-oc { display: flex; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #FAFBFD; }
.ta-oc h3 { margin: 0 0 3px; font-size: 15px; }
.ta-oc p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.ta-oc__icon { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex: none; background: #E3E9F1; color: var(--neutral); }
.ta-oc__icon .ta-ico { width: 22px; height: 22px; }
.ta-oc--hit { background: #F0FAF4; border-color: #BFE6CF; }
.ta-oc--hit .ta-oc__icon { background: var(--hit); color: #fff; }
.ta-oc--miss { background: #FDF2F3; border-color: #F3C4CA; }
.ta-oc--miss .ta-oc__icon { background: var(--miss); color: #fff; }
.ta-rps { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 14px 0 0; font-size: 14px; color: var(--body); }
.ta-rps b { font-size: 22px; color: var(--text); font-variant-numeric: tabular-nums; }
.ta-rps .ta-more { margin: 0 0 0 auto; }
.ta-cmp { display: grid; grid-template-columns: 1fr 1fr; margin-top: 14px; border-radius: 9px; background: #F4F7FB; }
.ta-cmp > div { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px; }
.ta-cmp > div + div { border-left: 1px solid var(--line); }
.ta-cmp span { font-size: 13px; color: var(--muted); }
.ta-cmp b { font-size: 28px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; }
.ta-cmp b.ta-cmp__pred { padding: 0 22px; border-radius: 8px; background: var(--pick-bg); color: #0B2E6F; }
.ta-tl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; list-style: none; margin: 0; padding: 0; }
.ta-tl__step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0 !important; text-align: center; }
.ta-tl__step:not(:last-child):after { content: ""; position: absolute; top: 18px; left: calc(50% + 28px); right: calc(-50% + 22px); border-top: 2px dashed #C9D3E0; }
.ta-tl__dot { position: relative; z-index: 1; width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex: none; background: var(--accent); color: #fff; }
.ta-tl__dot .ta-ico { width: 20px; height: 20px; }
.ta-tl__step.is-warn .ta-tl__dot { background: #F5B83D; color: #241500; }
.ta-tl__step.is-wait .ta-tl__dot { background: #DCE3EC; color: #475569; }
.ta-tl__body { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 1.45; color: var(--muted); }
.ta-tl__body b { font-size: 14.5px; color: var(--text); }
.ta-tl__time { font-size: 12.5px; font-weight: 600; color: var(--text); }
.ta-tl--v { grid-template-columns: 1fr; gap: 0; }
.ta-tl--v .ta-tl__step { flex-direction: row; align-items: flex-start; gap: 12px; padding-bottom: 16px; text-align: left; }
.ta-tl--v .ta-tl__step:last-child { padding-bottom: 0; }
.ta-tl--v .ta-tl__step:not(:last-child):after { top: 42px; bottom: 4px; left: 18px; right: auto; border-top: 0; border-left: 2px solid #DCE3EC; }

/* ---------- Chưa đủ dữ liệu (ảnh 25), hoãn (ảnh 26) ---------- */
.ta-checks td { vertical-align: middle; }
.ta-checks .ta-checks__icon { width: 44px; color: var(--muted); }
.ta-checks__icon .ta-ico { width: 24px; height: 24px; }
.ta-checks td b { display: block; font-size: 14.5px; color: var(--text); }
.ta-checks td span { font-size: 13px; color: var(--muted); }
.ta-checks td .ta-check { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.ta-checks td .ta-check--ready { color: var(--hit); }
.ta-checks td .ta-check--missing { color: var(--miss); }
.ta-checks td .ta-check--review { color: #8A5300; }
.ta-warnbox { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 0; padding: 12px 14px; border: 1px solid #F6D58E; border-radius: 9px; background: #FFF6E5; color: #5C3B00; font-size: 14px; line-height: 1.5; }
.ta-card__head + .ta-warnbox { margin-top: 0; }
.ta-warnbox .ta-ico { width: 20px; height: 20px; margin-top: 1px; color: #B26A00; }
.ta-btnrow { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ta-how--row .ta-how__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ta-how--row .ta-how__steps li { margin: 0 !important; }
.ta-prev { position: relative; }
.ta-prev .ta-prev__panel { max-width: none; background: #F4F7FB; border: 1px solid var(--line); backdrop-filter: none; -webkit-backdrop-filter: none; }
.ta-prev__panel .ta-hero__plabel { color: var(--muted); }
.ta-prev__panel .ta-hero__p .ta-hero__pnum { font-size: 30px; color: #8391A5; }
.ta-prev__panel .ta-hero__p { border-left-color: var(--line); }
.ta-prev__panel .ta-probbar { opacity: .35; }
.ta-prev__stamp { display: inline-block; margin: 0 0 10px; transform: rotate(-3deg); padding: 3px 10px; border: 2px solid var(--miss); border-radius: 6px; background: rgba(255, 255, 255, .9); color: var(--miss); font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }

/* ---------- Trận liên quan ---------- */
.ta-related { margin-top: 28px; }
.ta-teamlinks { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 14px; }
.ta-teamlink { display: inline-flex; align-items: center; gap: 8px; color: var(--accent); font-size: 14px; font-weight: 600; }

/* =====================================================================
 * Hub giải (decisions.md §10; ảnh demo 06)
 * ===================================================================== */
.ta-mhero--league .ta-mhero__in { align-items: stretch; padding-bottom: 28px; }
.ta-lhero { display: flex; align-items: center; gap: 22px; margin-top: 16px; }
.ta-lhero .ta-mhero__h1 { margin: 0 0 4px; max-width: none; text-align: left; font-size: 34px; }
.ta-lhero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 8px; color: #D4DDE8; font-size: 14.5px; font-weight: 500; }
.ta-lhero__meta .ta-sample { background: rgba(0, 154, 255, .16); color: #A9DCFF; box-shadow: inset 0 0 0 1px rgba(0, 154, 255, .45); }
.ta-lhero__lead { max-width: 740px; margin: 0; color: #C3CEDB; font-size: 15px; line-height: 1.6; }
.ta-lrow { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px 20px; align-items: start; }
.ta-lrow + .ta-lrow, .ta-lblock + .ta-lrow { margin-top: 16px; }
.ta-lblock { margin-top: 16px; }
.ta-mc__grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ta-section-head .ta-sample { margin-left: auto; }

/* Thành tích của giải */
.ta-lrec { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ta-lrec__col { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #FAFBFD; }
.ta-lrec__col h3 { margin: 0 0 8px; font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.ta-lrec__col p { display: flex; align-items: baseline; gap: 6px; margin: 0 0 4px; font-size: 13px; color: var(--muted); }
.ta-lrec__col b { font-size: 20px; color: var(--text); font-variant-numeric: tabular-nums; }
.ta-lrec__note { margin: 10px 0 0; }

/* BXH */
.ta-lt th, .ta-lt td { padding: 9px 6px; text-align: center; font-variant-numeric: tabular-nums; }
.ta-lt .ta-lt__club { text-align: left !important; }
.ta-lt tbody th { font-size: 14.5px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.ta-lt__club a, .ta-lt__club > .ta-nolink { display: inline-flex; align-items: center; gap: 10px; color: var(--text); }
.ta-lt__club a:hover { color: var(--accent); }
.ta-lt__pos { width: 36px; color: var(--muted); font-weight: 600; }
.ta-lt td.ta-lt__pts { font-weight: 800; color: var(--text); }
.ta-lt__pills { display: inline-flex; gap: 3px; }
.ta-fs--sm { flex: none; width: 22px; height: 22px; border-radius: 4px; font-size: 12px; cursor: default; }
.ta-lt td.ta-lt__pred { font-weight: 700; color: var(--accent-strong); }
.ta-lt th.ta-lt__pred a { color: inherit; text-decoration: underline dotted; text-underline-offset: 3px; }
.ta-lt__note { margin: 12px 0 0; }

/* So sánh phong độ hai đội */
.ta-cmp2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ta-cmp2__col { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #FAFBFD; }
.ta-cmp2__col .ta-select, .ta-cmp2__col .ta-select select { width: 100%; }
.ta-cmp2__panel h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 16px; }
.ta-cmp2__panel h3 small { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 500; color: var(--muted); }
.ta-cmpbar { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; margin-top: 12px; font-size: 13px; color: var(--muted); }
.ta-cmpbar b { color: var(--text); font-variant-numeric: tabular-nums; }
.ta-cmpbar__track { grid-column: 1 / -1; height: 8px; border-radius: 999px; background: #E6ECF3; overflow: hidden; }
.ta-cmpbar__fill { display: block; height: 100%; border-radius: 999px; }
.ta-cmpbar__fill--for { background: var(--accent); }
.ta-cmpbar__fill--against { background: #94A3B8; }

/* Đặc điểm giải */
.ta-prof { list-style: none; margin: 0; padding: 0; }
.ta-prof li { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; margin: 0 !important; padding: 9px 0; border-top: 1px solid var(--line-soft); font-size: 13.5px; }
.ta-prof li:first-child { border-top: 0; padding-top: 0; }
.ta-prof__lab { font-weight: 600; color: var(--text); }
.ta-prof li b { color: var(--text); text-align: right; font-variant-numeric: tabular-nums; }
.ta-prof__avg { grid-column: 1 / -1; font-size: 12px; color: var(--muted); }
.ta-prof__track { grid-column: 1 / -1; position: relative; height: 6px; margin-top: 4px; border-radius: 999px; background: #E6ECF3; }
.ta-prof__fill { display: block; height: 100%; border-radius: 999px; background: var(--accent); }
.ta-prof__mark { position: absolute; top: -3px; width: 2px; height: 12px; margin-left: -1px; border-radius: 1px; background: var(--text); }
.ta-prof__note { margin: 10px 0 0; }

/* Lưới đội */
.ta-teamgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ta-teamcard { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); color: var(--text); transition: border-color .2s, box-shadow .2s; }
.ta-teamcard:hover { border-color: #C9D7EA; box-shadow: 0 8px 22px rgba(16, 24, 40, .08); color: var(--text); }
.ta-teamcard__txt { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ta-teamcard__txt b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
.ta-teamcard__txt small { font-size: 12.5px; color: var(--muted); }
.ta-teamcard .ta-arrow { color: var(--accent); }

@media (max-width: 1100px) {
	.ta-mc__grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ta-teamgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 849px) {
	.ta-lrow { grid-template-columns: minmax(0, 1fr); }
	.ta-mc__grid--5, .ta-teamgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ta-lhero .ta-mhero__h1 { font-size: 27px; }
}
@media (max-width: 549px) {
	.ta-lhero { align-items: flex-start; gap: 14px; margin-top: 12px; }
	.ta-lhero .ta-emblem--lg { width: 52px; height: 52px; }
	.ta-lhero .ta-mhero__h1 { font-size: 23px; }
	.ta-lhero__meta { font-size: 13px; }
	.ta-lhero__lead { font-size: 14px; }
	.ta-lhero__more { display: none; }
	.ta-mc__grid--5 { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
	.ta-mc__grid--5 .ta-mc { scroll-snap-align: start; }
	.ta-lt .ta-lt__x, .ta-lt .ta-lt__form { display: none; }
	.ta-lt th, .ta-lt td { padding: 9px 4px; }
	.ta-lt tbody th { font-size: 14px; }
	.ta-lt__club a, .ta-lt__club > .ta-nolink { gap: 8px; }
	.ta-cmp2 { grid-template-columns: 1fr; }
}

@media (max-width: 849px) {
	.ta-mlayout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "side" "b"; }
	.ta-mhero__panel { display: block; }
	.ta-mpred--main { display: none; }
	.ta-mhero__h1 { font-size: 22px; }
	.ta-mhero__name { font-size: 20px; }
}
@media (max-width: 549px) {
	.ta-mhero__in { padding-top: 10px; padding-bottom: 14px; }
	.ta-crumbs { font-size: 12px; }
	.ta-mhero__h1 { font-size: 19px; margin: 10px 0 4px; }
	.ta-mhero__teams { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; margin-bottom: 10px; }
	.ta-mhero__name { font-size: 16px; }
	.ta-mhero__mid { font-size: 12.5px; max-width: 132px; }
	.ta-mhero__league { font-size: 12.5px; gap: 6px; }
	.ta-mhero__vs { font-size: 22px; }
	.ta-mhero__score { font-size: 40px; }
	.ta-mhero__venue { font-size: 12px; }
	.ta-mhero__foot { gap: 6px 8px; }
	.ta-mhero__alert { padding: 12px 14px; }
	.ta-mhero__alert b { font-size: 18px; }
	.ta-toc__a { padding: 11px 12px 9px; font-size: 14px; }
	.ta-mpage { padding-top: 16px; }
	.ta-mcard { padding: 16px; }
	.ta-mpred__cells, .ta-scores { gap: 8px; }
	.ta-score { padding: 10px 6px 12px; }
	.ta-score__s { font-size: 18px; }
	.ta-score__p { font-size: 15px; }
	.ta-gridwrap { grid-template-columns: 1fr; padding: 0 8px 12px; }
	.ta-grid td { padding: 6px 1px; font-size: 12px; }
	.ta-mkts, .ta-form, .ta-oc__grid, .ta-how--row .ta-how__steps { grid-template-columns: 1fr; }
	.ta-tl { grid-template-columns: 1fr; gap: 0; }
	.ta-tl .ta-tl__step { flex-direction: row; align-items: flex-start; gap: 12px; padding-bottom: 16px; text-align: left; }
	.ta-tl .ta-tl__step:last-child { padding-bottom: 0; }
	.ta-tl .ta-tl__step:not(:last-child):after { top: 42px; bottom: 4px; left: 18px; right: auto; border-top: 0; border-left: 2px solid #DCE3EC; }
	.ta-factors li { grid-template-columns: auto minmax(0, 1fr); }
	.ta-factors .ta-src { grid-column: 2; justify-self: start; }
	/* Bảng mô hình → mỗi mô hình một khối: tên ở trên, 4 số bên dưới có nhãn. */
	.ta-panel thead { display: none; }
	.ta-panel, .ta-panel tbody { display: block; }
	.ta-panel tr { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
	.ta-panel tr.is-final { margin-top: 6px; padding: 12px 10px; border: 1px solid #C9DCFB; border-radius: 8px; background: #F2F7FF; }
	.ta-panel tr.is-final th, .ta-panel tr.is-final td { background: none; border-top: 0; }
	.ta-panel th[scope="row"], .ta-panel td { padding: 0 !important; border: 0; }
	.ta-panel th[scope="row"] { grid-column: 1 / -1; }
	.ta-panel td.ta-panel__num, .ta-panel td.ta-panel__score { width: auto; font-size: 14px; }
	.ta-panel td:before { content: attr(data-label); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 600; color: var(--muted); }
	.ta-h2h__date { width: auto; font-size: 12.5px !important; }
	.ta-h2h td { padding-left: 4px; padding-right: 4px; }
	.ta-h2h .ta-mark { margin: 0 3px; }
	.ta-rps .ta-more { margin-left: 0; }
	.ta-btnrow .ta-btn { width: 100%; }
	.ta-cmp b { font-size: 24px; }
}

/* =====================================================================
 * Dự đoán theo ngày: today / tomorrow / weekend (pages.md §2.2; ảnh demo 02, 35)
 * ===================================================================== */
.ta-day__featured { margin-bottom: 16px; }
.ta-day__featured .ta-hero { min-height: 340px; }
.ta-day__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px 16px; margin-bottom: 14px; }
.ta-day__head h1 { margin: 0 0 6px; font-size: 28px; line-height: 1.2; }
.ta-day__lead { max-width: 46em; margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.55; }
.ta-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 10px; }
.ta-filters .ta-select, .ta-filters select { width: 100%; }
.ta-day__count { margin: 0 0 4px; }
.ta-table--day td.ta-table__lg { width: 132px; font-size: 13.5px; font-weight: 600; line-height: 1.3; color: var(--text); }
.ta-table--day .ta-match { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.ta-table--day .ta-table__p { width: 30%; }
.ta-table--day .ta-table__lg .ta-league { gap: 7px; }
.ta-tiernotes { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--line-soft); }
.ta-tiernotes li { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font-size: 13px; color: var(--muted); }
.ta-yday { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 12px 0 0; font-size: 14px; color: var(--body); }
.ta-yday .ta-ico { color: var(--hit); }
.ta-yday .ta-more { margin: 0 0 0 auto; }
.ta-linkbtn { margin: 0; padding: 0; min-height: 0; border: 0; background: none; color: var(--accent); font: inherit; font-weight: 600; line-height: inherit; letter-spacing: 0; text-transform: none; text-decoration: underline; cursor: pointer; }
.ta-avail { list-style: none; margin: 0; padding: 0; }
.ta-avail__item { display: flex; gap: 12px; margin: 0 !important; padding: 9px 0; border-top: 1px solid var(--line-soft); }
.ta-avail__item:first-child { border-top: 0; padding-top: 0; }
.ta-avail__item > div { display: flex; flex-direction: column; flex: 1; gap: 2px; font-size: 13px; line-height: 1.45; color: var(--muted); }
.ta-avail__item b { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; color: var(--text); }
.ta-avail__dot { flex: none; width: 14px; height: 14px; margin-top: 3px; border-radius: 50%; background: var(--accent); }
.ta-avail__item--limited_context .ta-avail__dot { background: #F5B83D; }
.ta-avail__item--insufficient .ta-avail__dot { background: #fff; box-shadow: inset 0 0 0 2px #94A3B8; }
.ta-avail__item--pending .ta-avail__dot { background: #fff; box-shadow: inset 0 0 0 2px var(--accent); }
.ta-avail__item--postponed .ta-avail__dot { background: var(--neutral); }
.ta-avail__n { min-width: 26px; padding: 0 6px; border-radius: 999px; background: #EEF2F7; font-size: 12.5px; text-align: center; color: var(--text); }
.ta-methodcard { display: flex; align-items: flex-start; gap: 14px; }
.ta-methodcard .ta-card__sub { margin: 6px 0 0; }
.ta-methodcard .ta-more { margin-top: 8px; }

@media (max-width: 849px) {
	.ta-filters { grid-template-columns: 1fr 1fr; }
	.ta-day__featured .ta-hero { min-height: 0; }
}
@media (max-width: 549px) {
	.ta-day__head { flex-direction: column; }
	.ta-day__head h1 { font-size: 23px; }
	.ta-day__lead { font-size: 14px; }
	/* Thẻ trận (ảnh 35): hàng đầu giờ · giải · hạng/→, rồi hai đội, rồi ba ô xác suất. */
	.ta-table--day tr { grid-template-columns: auto minmax(0, 1fr) auto; }
	.ta-table--day td.ta-table__time { display: flex; flex-direction: column; grid-column: 1; grid-row: 1; padding-right: 10px !important; border-right: 1px solid var(--line) !important; }
	.ta-table--day td.ta-table__lg { grid-column: 2; grid-row: 1; align-self: center; width: auto; }
	.ta-table--day td.ta-table__go { grid-column: 3; grid-row: 1; }
	.ta-table--day td.ta-table__match, .ta-table--day td.ta-table__p { grid-column: 1 / -1; width: auto; }
	.ta-yday .ta-more { margin-left: 0; }
	.ta-day .ta-tabs { gap: 4px; }
	.ta-day .ta-tab { flex: 1 1 0; padding: 7px 4px; }
	/* Như ảnh 35: H1 và danh sách trận lên đầu; trận nổi bật xuống sau (nó vẫn có trong danh sách). */
	.ta-daypage .ta-mpage { display: flex; flex-direction: column; }
	.ta-daypage .ta-mpage > * { order: 3; }
	.ta-daypage .ta-mpage > .ta-lrow { order: 1; }
	.ta-daypage .ta-mpage > .ta-day__featured { order: 2; margin: 16px 0 0; }
}

/* =====================================================================
 * Track record /accuracy/ (pages.md §3.1; ảnh demo 10)
 * ===================================================================== */
.ta-ahead { margin-bottom: 18px; }
.ta-crumbs--light { color: var(--muted); }
.ta-crumbs--light a { color: var(--accent); font-weight: 600; }
.ta-crumbs--light a:hover { color: var(--accent-strong); }
.ta-crumbs--light li + li:before { color: #94A3B8; }
.ta-crumbs--light [aria-current] { color: var(--text); }
.ta-ahead__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin-top: 10px; }
.ta-ahead h1 { margin: 0 0 8px; font-size: 34px; line-height: 1.15; }
.ta-ahead__lead { max-width: 46em; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
.ta-ahead__side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex: none; }
.ta-ahead__upd { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); white-space: nowrap; }
.ta-ahead__upd .ta-ico { width: 16px; height: 16px; }
.ta-segtabs { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 8px; margin-bottom: 16px; }
.ta-segtabs .ta-tab { padding: 11px 16px; text-align: center; font-size: 15px; }
.ta-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.ta-metrics--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ta-metric { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); min-width: 0; }
.ta-metric.is-main { border-color: #B9D5FF; background: #F5F9FF; }
.ta-metric__lab { font-size: 13px; font-weight: 600; color: var(--muted); }
.ta-metric__num { font-size: 26px; font-weight: 800; line-height: 1.2; color: var(--text); font-variant-numeric: tabular-nums; }
.ta-metric.is-main .ta-metric__num { color: var(--accent-strong); }
.ta-metric__sub { font-size: 12px; line-height: 1.4; color: var(--muted); }
.ta-acctable th, .ta-acctable td { text-align: center; font-variant-numeric: tabular-nums; }
.ta-acctable th:first-child { text-align: left !important; }
.ta-acctable tbody th { font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 14px; }
.ta-acctable tbody th b { display: block; font-size: 14.5px; color: var(--text); }
.ta-acctable tbody th small { display: block; font-size: 12px; color: var(--muted); }
.ta-acctable tr.is-final th, .ta-acctable tr.is-final td { background: #F2F7FF; }
.ta-acctable tr.is-shadow td { color: var(--muted); }
.ta-acctable tr.is-bench th b { color: var(--body); }
.ta-acctable td.is-best { font-weight: 800; color: var(--accent-strong); }
.ta-acctable td small { display: block; font-size: 12px; color: var(--muted); }
.ta-acctable .ta-league { font-weight: 600; color: var(--text); }
.ta-acctable a:hover .ta-league { color: var(--accent); }
.ta-acc__note { margin: 12px 0 0; }
.ta-chart--cal, .ta-chart--roll { max-width: 640px; margin: 4px auto 0; }
.ta-chart__diag { stroke: #A9B6C6; stroke-width: 1.6; stroke-dasharray: 5 5; }
.ta-chart__err { stroke: rgba(0, 96, 252, .25); stroke-width: 7; stroke-linecap: round; }
.ta-acctable--cal { margin-top: 6px; }
.ta-arow { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; align-items: start; margin-top: 16px; }
.ta-arow .ta-card + .ta-card { margin-top: 0; }
.ta-checklist { list-style: none; margin: 0; padding: 0; }
.ta-checklist li { display: flex; gap: 10px; margin: 0 !important; padding: 7px 0; font-size: 14px; color: var(--body); }
.ta-checklist .ta-ico { width: 18px; height: 18px; margin-top: 1px; }
.ta-checklist .is-ok .ta-ico { color: var(--hit); }
.ta-checklist .is-no .ta-ico { color: var(--miss); }
.ta-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.ta-rules .ta-card + .ta-card { margin-top: 0; }
.ta-rulecard { display: flex; align-items: flex-start; gap: 14px; }
.ta-rulecard p { margin: 6px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--muted); }
.ta-rulecard .ta-more { margin: 10px 16px 0 0; }
.ta-exlog { list-style: none; margin: 6px 0 0; padding: 0; }
.ta-exlog li { display: flex; flex-direction: column; margin: 0 0 8px !important; font-size: 13.5px; }
.ta-exlog li a { font-weight: 600; }
.ta-exlog li span { color: var(--muted); font-size: 12.5px; }
.ta-acc__others { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 20px 0 0; font-size: 14px; color: var(--muted); }
.ta-acc__others a { font-weight: 600; }

@media (max-width: 1100px) {
	.ta-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 849px) {
	.ta-ahead__row { flex-direction: column; align-items: flex-start; }
	.ta-ahead__side { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
	.ta-arow, .ta-rules { grid-template-columns: 1fr; }
}
@media (max-width: 549px) {
	.ta-ahead h1 { font-size: 25px; }
	.ta-ahead__lead { font-size: 14px; }
	.ta-segtabs { grid-template-columns: 1fr 1fr; }
	.ta-metrics, .ta-metrics--4 { grid-template-columns: 1fr 1fr; gap: 8px; }
	.ta-metric { padding: 12px; }
	.ta-metric__num { font-size: 22px; }
	/* Biểu đồ co lại gần một nửa trên mobile: phóng chữ trong SVG để vẫn đọc được (~11px). */
	.ta-chart--cal text, .ta-chart--roll text { font-size: 20px; }
	/* Bảng so sánh mô hình → mỗi mô hình một khối có nhãn (các bảng khác ít cột, cuộn ngang nếu cần). */
	.ta-acctable--cmp thead { display: none; }
	.ta-acctable--cmp, .ta-acctable--cmp tbody { display: block; }
	.ta-acctable--cmp tr { display: grid; grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)); gap: 6px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
	.ta-acctable--cmp th, .ta-acctable--cmp td { padding: 0 !important; border: 0; }
	.ta-acctable--cmp tbody th { grid-column: 1 / -1; }
	.ta-acctable--cmp td[data-label]:before { content: attr(data-label); display: block; font-size: 12px; font-weight: 600; color: var(--muted); }
}

/* =====================================================================
 * Methodology (pages.md §3.3; ảnh demo 11) — trang UX Builder pages/methodology.txt
 * ===================================================================== */
.ta-method-intro h1 { margin: 10px 0 8px; font-size: 40px; line-height: 1.1; }
.ta-method-intro__sub { margin: 0 0 10px; font-size: 19px; font-weight: 600; line-height: 1.4; color: var(--text); }
.ta-method-intro__lead { max-width: 46em; margin: 0 0 18px; font-size: 16px; line-height: 1.65; color: var(--body); }
.ta-method-intro .button { margin: 0 8px 8px 0; }
.ta-mstep { display: flex; gap: 14px; height: 100%; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.ta-mstep__n { display: flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 18px; font-weight: 800; }
.ta-mstep p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.ta-mstep strong { display: block; margin-bottom: 2px; font-size: 15.5px; color: var(--text); }
.ta-method__main > .col-inner { padding: 26px 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.ta-method__main h2 { margin: 34px 0 10px; font-size: 22px; scroll-margin-top: 80px; }
.ta-method__main h2:first-child { margin-top: 0; }
.ta-method__main p, .ta-method__main li { font-size: 15.5px; line-height: 1.65; color: var(--body); }
.ta-method__main ul { margin: 0 0 12px 1.15em; }
.ta-method__main li { margin-bottom: 6px; }
.ta-method__main li strong { color: var(--text); }
.ta-formula { margin: 16px 0; padding: 18px 20px; border-radius: var(--radius); background: var(--nav); color: #E6EDF3; }
.ta-method__main .ta-formula__t { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #9ED7FF; }
.ta-formula pre { margin: 0; padding: 0; overflow-x: auto; border: 0; background: none; color: #fff; font-family: var(--mono); font-size: 15px; line-height: 1.9; white-space: pre; }
.ta-formula sub, .ta-formula sup { font-size: max(12px, .72em); }
.ta-method__main .ta-formula__note { margin: 10px 0 0; font-size: 13.5px; line-height: 1.55; color: #C3CEDB; }
.ta-formula--light { border: 1px solid var(--line); background: #F4F7FB; color: var(--text); }
.ta-formula--light pre { color: var(--text); }
.ta-method__main .ta-formula--light .ta-formula__t { color: var(--accent-strong); }
.ta-method__main .ta-formula--light .ta-formula__note { color: var(--muted); }
.ta-mgrid { margin: 16px 0; padding: 16px 18px; }
.ta-mgrid figcaption { margin-bottom: 10px; }
.ta-mgrid figcaption b { display: block; font-size: 14.5px; color: var(--text); }
.ta-mgrid figcaption span { display: block; font-size: 13px; line-height: 1.5; color: var(--muted); }
.ta-mgrid .ta-grid { max-width: 440px; }
.ta-mgrid .ta-grid td { font-size: 13px; padding: 8px 2px; }
.ta-aistatus { margin: 14px 0 6px; padding: 16px 18px; border: 1px solid #B9D5FF; border-radius: var(--radius); background: #F5F9FF; }
.ta-aistatus__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 15px; color: var(--text); }
.ta-aistatus .ta-dl > div { grid-template-columns: 150px minmax(0, 1fr); }
.ta-vtable th, .ta-vtable td { font-size: 14px; vertical-align: top; }
.ta-vtable tbody th { font-weight: 400; text-transform: none; letter-spacing: 0; white-space: nowrap; }
.ta-vtable tbody th .ta-chip { display: flex; width: fit-content; margin-top: 4px; }
.ta-vtable td:nth-child(2) { white-space: nowrap; }
.ta-changes__none { display: flex; align-items: flex-start; gap: 8px; }
.ta-changes__none .ta-ico { color: var(--hit); margin-top: 2px; }
.ta-method__side .col-inner > * + * { margin-top: 16px; }
.ta-onpage { padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.ta-onpage__t { margin: 0 0 8px; font-size: 16px; font-weight: 700; color: var(--text); }
.ta-onpage ol { list-style: none; margin: 0; padding: 0; }
.ta-onpage li { margin: 0 !important; }
.ta-onpage a { display: block; padding: 5px 10px; border-left: 2px solid var(--line); font-size: 14px; color: var(--body); }
.ta-onpage a:hover { border-left-color: var(--accent); color: var(--accent); }
.ta-facts ul { list-style: none; margin: 0; padding: 0; }
.ta-facts li { display: flex; gap: 12px; margin: 0 !important; padding: 10px 0; border-top: 1px solid var(--line-soft); }
.ta-facts li:first-child { border-top: 0; padding-top: 0; }
.ta-facts__icon { display: flex; align-items: center; justify-content: center; flex: none; width: 36px; height: 36px; border-radius: 10px; background: #EEF3F9; color: var(--accent-strong); }
.ta-facts__icon .ta-ico { width: 20px; height: 20px; }
.ta-facts__lab { display: block; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.ta-facts__val { display: block; font-size: 14px; line-height: 1.45; color: var(--text); }
.ta-facts__val code { padding: 1px 6px; border-radius: 4px; background: #F1F4F8; font-size: 13px; }
.ta-uselinks .ta-card__title { margin-bottom: 6px; }
.ta-uselinks .ta-links a { padding: 8px 0; }
.ta-mcta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 24px 28px; border-radius: 12px; color: #fff;
	background: radial-gradient(60% 120% at 100% 0%, rgba(0, 154, 255, .25), transparent 60%), linear-gradient(120deg, #061525, #0B2442); }
.ta-mcta h2 { margin: 0 0 4px; font-size: 22px; color: #fff; }
.ta-mcta p { margin: 0; font-size: 14.5px; color: #C3CEDB; }
.ta-mcta__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ta-mcta .ta-btn--ghost { border-color: rgba(255, 255, 255, .55); background: transparent; color: #fff !important; }
.ta-mcta .ta-btn--ghost:hover { background: rgba(255, 255, 255, .08); }

@media (max-width: 849px) {
	.ta-onpage { display: none; }
	.ta-method-intro h1 { font-size: 32px; }
}
@media (max-width: 549px) {
	.ta-method-intro h1 { font-size: 27px; }
	.ta-method-intro__sub { font-size: 17px; }
	.ta-method-intro__lead { font-size: 15px; }
	.ta-method__main > .col-inner { padding: 18px 16px; }
	.ta-method__main h2 { font-size: 20px; }
	.ta-formula { padding: 14px; }
	.ta-formula pre { font-size: 13px; white-space: pre-wrap; }
	.ta-aistatus .ta-dl > div { grid-template-columns: 1fr; gap: 2px; }
	/* Bảng phiên bản mô hình: mỗi phiên bản một thẻ có nhãn (không cuộn ngang). */
	.ta-vtable thead { display: none; }
	.ta-vtable, .ta-vtable tbody, .ta-vtable tr { display: block; width: 100%; }
	.ta-vtable tr { padding: 8px 0; border-bottom: 1px solid var(--line); }
	.ta-vtable td, .ta-vtable tbody th { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 8px; padding: 4px 0; border: 0; white-space: normal !important; }
	.ta-vtable td::before, .ta-vtable tbody th::before { content: attr(data-label); font-size: 12.5px; font-weight: 600; color: var(--muted); }
	.ta-mcta { padding: 20px 18px; }
}

/* =====================================================================
 * Sổ khóa /ledger/ (pages.md §3.4)
 * ===================================================================== */
.ta-ledger td { vertical-align: top; font-size: 14px; }
.ta-ledger small { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 3px; font-size: 12px; color: var(--muted); }
.ta-ledger code, .ta-ledgerpage .ta-how code { font-size: 12.5px; }
.ta-ledger td.ta-ledger__when { white-space: nowrap; font-size: 13px; color: var(--muted); }
.ta-ledger__match a { font-weight: 600; color: var(--text); }
.ta-ledger__match a:hover { color: var(--accent); }
.ta-ledger__pick b { color: var(--accent-strong); }
.ta-ledger__score { display: block; margin-top: 4px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.ta-status--hit { background: #E5F5EC; color: var(--hit); }
.ta-status--miss { background: #FCE8EA; color: var(--miss); }
.ta-ledger__hash code { display: inline-block; padding: 2px 6px; border-radius: 4px; background: #F1F4F8; color: var(--text); }
.ta-ledger td.ta-ledger__check { white-space: nowrap; }
.ta-ledger__file { margin-right: 10px; font-weight: 600; }
.ta-ledger__out { display: block; margin-top: 4px; font-size: 12.5px; font-weight: 600; color: var(--muted); }
.ta-ledger__out.is-ok { color: var(--hit); }
.ta-ledger__out.is-bad { color: var(--miss); }
.ta-code { margin: 6px 0 8px; padding: 8px 10px; border-radius: 7px; background: var(--nav); color: #E6EDF3; font-family: var(--mono); font-size: 12.5px; line-height: 1.5; white-space: pre-wrap; word-break: break-all; }
.ta-checklist--plain .ta-ico { color: var(--accent); }
.ta-ledgerpage .ta-metrics { margin-top: 4px; }

@media (max-width: 549px) {
	/* Bảng sổ khóa → thẻ: trận ở trên, rồi giờ khóa / lựa chọn / trạng thái / hash / kiểm. */
	.ta-ledger thead { display: none; }
	.ta-ledger, .ta-ledger tbody { display: block; }
	.ta-ledger tr { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
	.ta-ledger td { padding: 0 !important; border: 0; }
	.ta-ledger td.ta-ledger__match { grid-column: 1 / -1; grid-row: 1; }
	.ta-ledger td[data-label]:not(.ta-ledger__match):before { content: attr(data-label); display: block; font-size: 12px; font-weight: 600; color: var(--muted); }
}
/* ---------- Đội: danh sách + chi tiết (demo 07, 08) ---------- */
.ta-teamhero .ta-mhero__in { padding-top: 24px; padding-bottom: 32px; }
.ta-teamhero__row { display: flex; align-items: center; gap: 24px; padding: 12px 0; width: 100%; }
.ta-teamhero__row > div { min-width: 0; }
.ta-teamhero__row .ta-mhero__h1 { text-align: left; margin: 0 0 12px; max-width: 100%; font-size: 40px; }
.ta-teamhero__row p { max-width: 760px; margin: 0 0 14px; color: #d6e3ef; font-size: 16px; }
.ta-teamhero__row p a { color: #9bd8ff; }
.ta-teamhero__meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; font-size: 13px; color: #d6e3ef; }
.ta-teamhero .ta-sample { background: #133c5c; color: #bee5ff; }
.ta-teamlayout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.ta-teamdirectory { display: grid; grid-template-columns: 215px minmax(0, 1fr); gap: 20px; align-items: start; }
.ta-teamnav { padding: 20px 16px; position: sticky; top: 80px; }
.ta-teamnav h2 { font-size: 20px; }
.ta-teamnav nav { display: grid; gap: 4px; }
.ta-teamnav a { display: flex; align-items: center; gap: 10px; padding: 12px 6px; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--text); }
.ta-teamfilters { padding: 20px; display: grid; grid-template-columns: minmax(0, 1fr) 190px auto; gap: 12px; align-items: end; }
.ta-teamfilters label { font-size: 13px; }
.ta-teamfilters input, .ta-teamfilters select { margin: 0; border-radius: 6px; box-shadow: none; min-height: 44px; font-size: 14px; }
.ta-teamfilters button { margin: 0; min-height: 44px; font-size: 12px; border: 1px solid var(--line); border-radius: 6px; }
.ta-teamfilters p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 13px; }
.ta-teamgroup { padding: 20px; }
.ta-teamgroup h2 { font-size: 22px; margin: 0; width: auto; }
.ta-teamgroup .ta-teamgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ta-teamtile { border: 1px solid var(--line); border-radius: 8px; padding: 22px 14px 16px; text-align: center; display: flex; flex-direction: column; align-items: center; transition: border-color .15s, box-shadow .15s; }
.ta-teamtile:hover { border-color: #79bde9; box-shadow: 0 4px 16px #1229460d; }
.ta-teamtile > a:first-child { display: flex; flex-direction: column; align-items: center; width: 100%; gap: 16px; }
.ta-teamtile .ta-mark--lg { width: 70px; height: 80px; }
.ta-teamtile h3 { font-size: 17px; line-height: 1.3; margin: 0; }
.ta-teamtile p { font-size: 12px; line-height: 1.5; color: var(--muted); margin: 8px 0; }
.ta-teamtile .ta-teamtile__next { color: var(--body); border-top: 1px solid var(--line); padding-top: 12px; width: 100%; }
.ta-teamtile__link { font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; }
.ta-teamtile__link .ta-arrow { width: 16px; height: 16px; }
.ta-teamnext { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; text-align: center; gap: 12px; padding: 12px 0 20px; }
.ta-teamnext > div { display: flex; flex-direction: column; align-items: center; gap: 12px; min-width: 0; }
.ta-teamnext strong { font-size: 17px; line-height: 1.3; }
.ta-teamnext .ta-mark--lg { width: 72px; height: 82px; }
.ta-teamnext__when { font-size: 13px; color: var(--muted); }
.ta-teamnext__when b { font-size: 26px; color: var(--text); }
.ta-teamnext-card .ta-hero__panel { margin: 0 0 16px; width: 100%; max-width: none; background: #f3f7fb; border-color: var(--line); }
.ta-teamnext-card .ta-hero__plabel { white-space: normal; line-height: 1.3; color: var(--muted); }
.ta-teamnext-card .ta-hero__p--h .ta-hero__pnum { color: var(--hit); }
.ta-teamnext-card .ta-hero__p--a .ta-hero__pnum { color: #006bc2; }
.ta-teamnext-card .ta-hero__p--d .ta-hero__pnum { color: var(--text); }
.ta-teamnext-card .ta-lock { flex-wrap: wrap; }
.ta-teamform { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.ta-teamform a, .ta-teamform span { width: 32px; height: 34px; display: grid; place-items: center; border-radius: 5px; font-size: 14px; font-weight: 700; }
.ta-teamform__w { background: #e1f5eb; color: #11643e; }
.ta-teamform__d { background: #e9eef4; color: #45566c; }
.ta-teamform__l { background: #ffe8e9; color: #ad2933; }
.ta-teamfacts { margin: 0; }
.ta-teamfacts > div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); padding: 10px 0; }
.ta-teamfacts dt { font-size: 13px; font-weight: 400; }
.ta-teamfacts dd { font-size: 14px; font-weight: 700; margin: 0; text-align: right; text-transform: none; letter-spacing: 0; }
.ta-teammetrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.ta-teammetrics > div { background: #f3f7fb; padding: 14px 12px; border-radius: 6px; }
.ta-teammetrics dt { display: block; font-size: 12px; font-weight: 500; color: var(--muted); text-transform: none; }
.ta-teammetrics dd { display: block; margin: 5px 0 0; font-size: 27px; font-weight: 800; color: var(--text); }
.ta-teamnote { background: #fff6e3; border-left: 3px solid #dba742; padding: 12px; font-size: 13px; }
.ta-teamelo { width: 100%; height: auto; display: block; overflow: visible; }
.ta-teamelo text { font-size: 14px; fill: var(--muted); }
.ta-teamelo__grid line { stroke: var(--line); stroke-dasharray: 4 4; }
.ta-teamelo polyline { fill: none; stroke: #0073c9; stroke-width: 3; }
.ta-teamelo circle { fill: #0073c9; }
.ta-teamelo__current { color: var(--muted); font-size: 14px; }
.ta-teamelo__current b { font-size: 30px; color: var(--text); margin-right: 10px; }
.ta-teamrating { margin: 18px 0; }
.ta-teamrating > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; margin-bottom: 8px; }
.ta-teamrating__bar { height: 10px; border-radius: 5px; background: #e6edf4; position: relative; }
.ta-teamrating__bar span { display: block; height: 100%; background: #0073c9; border-radius: 5px; }
.ta-teamrating__bar i { position: absolute; left: 33.333%; top: -3px; bottom: -3px; border-left: 2px solid #30485c; }
.ta-teamnews { margin-left: 20px; font-size: 14px; }
.ta-teamnews li { margin-bottom: 14px; }
.ta-teamopponents { list-style: none; margin: 0; }
.ta-teamopponents li { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); }
.ta-teamopponents a { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.ta-teamopponents a span:not(.ta-mark) { flex: 1; }
.ta-teamopponents li > span { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
.ta-h2hall ul { list-style: none; margin: 0; padding: 4px 14px 12px; columns: 2; column-gap: 18px; }
.ta-h2hall li { margin: 0; padding: 4px 0; font-size: 13.5px; break-inside: avoid; }
.ta-h2hall small { color: var(--muted); font-size: 12px; }
.ta-teamresults th, .ta-teamresults td { white-space: normal; }
@media (max-width: 1000px) {
  .ta-teamdirectory { grid-template-columns: 175px minmax(0, 1fr); }
  .ta-teamgroup .ta-teamgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ta-teamfilters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ta-teamfilters button { grid-column: 1 / -1; justify-self: start; }
  .ta-teamlayout { grid-template-columns: minmax(0, 1fr) 280px; gap: 14px; }
}
@media (max-width: 849px) {
  .ta-teamlayout, .ta-teamdirectory { grid-template-columns: minmax(0, 1fr); }
  .ta-teamnav { position: static; }
  .ta-teamnav nav { display: flex; flex-wrap: wrap; gap: 4px 16px; }
  .ta-teamnav a { padding: 8px 0; }
  .ta-teamgroup .ta-teamgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 549px) {
  .ta-teamhero__row { gap: 14px; align-items: flex-start; }
  .ta-teamhero__row > .ta-mark--lg { width: 48px; height: 56px; }
  .ta-teamhero__row .ta-mhero__h1 { font-size: 28px; line-height: 1.15; }
  .ta-teamhero__row p { font-size: 14px; }
  .ta-teamhero__meta { font-size: 12px; }
  .ta-teamnav { padding: 16px; }
  .ta-teamnav a { font-size: 12px; }
  .ta-teamfilters { padding: 16px; grid-template-columns: minmax(0, 1fr); }
  .ta-teamfilters input, .ta-teamfilters select { font-size: 16px; }
  .ta-teamgroup { padding: 16px 12px; }
  .ta-teamgroup h2 { font-size: 20px; }
  .ta-teamgroup .ta-teamgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ta-teamtile { padding: 16px 8px; }
  .ta-teamtile h3 { font-size: 15px; }
  .ta-teamtile .ta-mark--lg { width: 54px; height: 62px; }
  .ta-teamtile__link { font-size: 12px; }
  .ta-teamnext { gap: 6px; }
  .ta-teamnext .ta-mark--lg { width: 48px; height: 56px; }
  .ta-teamnext strong { font-size: 14px; }
  .ta-teamnext__when { font-size: 12px; }
  .ta-teamnext-card .ta-hero__pnum { font-size: 28px; }
  .ta-teamnext-card .ta-hero__plabel { font-size: 12px; }
  .ta-teammetrics { gap: 6px; }
  .ta-teammetrics > div { padding: 10px 7px; }
  .ta-teammetrics dd { font-size: 23px; }
  .ta-teamelo text { font-size: 26px; }
  .ta-teamelo__grid text:nth-of-type(5), .ta-teamelo__grid text:nth-of-type(7) { display: none; }
  .ta-teamresults thead { display: none; }
  .ta-teamresults, .ta-teamresults tbody, .ta-teamresults tr, .ta-teamresults td { display: block; width: 100%; }
  .ta-teamresults tr { border: 1px solid var(--line); border-radius: 6px; padding: 10px; margin-bottom: 10px; }
  .ta-teamresults td { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 8px; border: 0; padding: 5px 0; font-size: 13px; }
  .ta-teamresults td::before { content: attr(data-label); color: var(--muted); font-size: 12px; }
}

/* ---------- Đối đầu /h2h/{a}-vs-{b}/ (khối H2H ảnh 03 + MatchCard) ---------- */
.ta-h2hhero .ta-mhero__in { padding-bottom: 28px; }
.ta-h2hhero__team { display: flex; flex-direction: column; align-items: center; gap: 10px; color: #fff; }
a.ta-h2hhero__team:hover .ta-mhero__name { text-decoration: underline; }
.ta-h2hhero__wins, .ta-h2hhero__draws { font-size: 14px; color: #D4DDE8; }
.ta-h2hhero__wins b, .ta-h2hhero__draws b { font-size: 26px; color: #fff; font-variant-numeric: tabular-nums; }
.ta-h2hbar { display: flex; height: 14px; margin: 4px 0 12px; border-radius: 7px; overflow: hidden; background: var(--line-soft); }
.ta-h2hbar span { display: block; height: 100%; }
.ta-h2hbar__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; margin: 0 0 16px; padding: 0; font-size: 13.5px; color: var(--body); }
.ta-h2hbar__legend li { display: flex; align-items: center; gap: 6px; margin: 0 !important; }
.ta-h2hbar__legend i { width: 10px; height: 10px; border-radius: 50%; }
.ta-h2hbar__legend span { color: var(--muted); }
span.ta-h2hbar__a, .ta-h2hbar__legend .ta-h2hbar__a i { background: var(--home); }
span.ta-h2hbar__d, .ta-h2hbar__legend .ta-h2hbar__d i { background: var(--draw); }
span.ta-h2hbar__b, .ta-h2hbar__legend .ta-h2hbar__b i { background: var(--away); }
.ta-h2hmeet td { vertical-align: middle; }
.ta-h2hmeet__team { display: inline-flex; align-items: center; gap: 6px; }
.ta-h2hpicks li > span { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ta-h2hprofile th[scope="row"] { font-weight: 500; text-align: left; }
.ta-h2hprofile td { font-variant-numeric: tabular-nums; }
.ta-h2hform + .ta-h2hform { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.ta-h2hform__team { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--text); }
.ta-h2hform small { display: block; margin: 4px 0 8px; font-size: 12.5px; color: var(--muted); }
@media (max-width: 549px) {
	.ta-h2hhero__wins b, .ta-h2hhero__draws b { font-size: 20px; }
	.ta-h2hhero__wins, .ta-h2hhero__draws { font-size: 12.5px; }
	.ta-h2hbar__legend { font-size: 13px; }
	.ta-h2hprofile th, .ta-h2hprofile td { font-size: 13px; padding-left: 6px; padding-right: 6px; }
	/* Thẻ gọn: dòng 1 ngày + chấm điểm, dòng 2 nhà – tỷ số – khách (ghi đè thẻ có nhãn của .ta-teamresults). */
	.ta-h2hmeet tr { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; align-items: center; }
	.ta-h2hmeet td { display: block; width: auto; padding: 0; }
	.ta-h2hmeet td::before { content: none; }
	.ta-h2hmeet td:nth-child(1) { grid-area: 1 / 1 / 2 / 3; color: var(--muted); font-size: 12.5px; }
	.ta-h2hmeet td:nth-child(5) { grid-area: 1 / 3; text-align: right; font-size: 12.5px; }
	.ta-h2hmeet td:nth-child(2) { grid-area: 2 / 1; text-align: right; }
	.ta-h2hmeet td:nth-child(3) { grid-area: 2 / 2; text-align: center; font-size: 15px; }
	.ta-h2hmeet td:nth-child(4) { grid-area: 2 / 3; }
	.ta-h2hmeet td:nth-child(2) .ta-h2hmeet__team { flex-direction: row-reverse; }
}

/* ---------- Thị trường /predictions/correct-score/, /over-under-2-5/, /btts/ (bảng ảnh 02, cột theo thị trường) ---------- */
.ta-filters--mkt { grid-template-columns: repeat(2, minmax(0, 220px)); }
.ta-mkt__count { margin: 0 0 4px; }
.ta-table--mkt .ta-table__p { width: 36%; }
.ta-table--correct-score .ta-cell { font-weight: 500; font-size: 13px; }
.ta-table--correct-score .ta-cell b { display: block; font-size: 15px; font-weight: 800; }
.ta-cell--plain { background: transparent; box-shadow: inset 0 0 0 1px var(--line); font-weight: 600; color: var(--body); }
.ta-mkt__note { display: block; margin-top: 6px; font-size: 12.5px; color: var(--muted); }
.ta-mkt__note b { color: var(--text); }
.ta-mkt__verdict { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 10px; padding: 10px 12px; border-radius: 8px; background: #F1F4F8; font-size: 13.5px; line-height: 1.5; color: var(--body); }
.ta-mkt__verdict .ta-ico { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--muted); }
.ta-mkt__verdict.is-close { background: #FFF6E3; }
.ta-mkt__verdict.is-below { background: #FCE8EA; }
.ta-marketpage .ta-teamfacts { margin-bottom: 12px; }
@media (max-width: 549px) {
	.ta-filters--mkt { grid-template-columns: 1fr 1fr; }
	.ta-mkt .ta-tabs { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; }
	.ta-mkt .ta-tab { white-space: nowrap; }
	.ta-mkt__note { font-size: 12.5px; }
}

/* ---------- Season forecast /predictions/{league}/season-forecast/ (bảng ảnh 06 + heatmap vị trí) ---------- */
.ta-sf .ta-sf__p { font-weight: 600; color: var(--text); }
.ta-sf td.ta-lt__pts { font-weight: 800; }
.ta-sfheat { width: 100%; border-collapse: separate; border-spacing: 3px; font-variant-numeric: tabular-nums; }
.ta-sfheat th, .ta-sfheat td { padding: 0; border: 0; font-size: 13px; text-align: center; }
.ta-sfheat thead th { padding-bottom: 4px; font-weight: 700; color: var(--muted); }
.ta-sfheat tbody th { padding-right: 8px; text-align: left; white-space: nowrap; font-weight: 600; color: var(--text); text-transform: none; letter-spacing: 0; }
.ta-sfheat tbody th .ta-mark { vertical-align: middle; margin-right: 6px; }
.ta-sfheat__short { display: none; }
.ta-sfheat td { height: 34px; min-width: 34px; border-radius: 5px; background: color-mix(in srgb, var(--accent) calc(var(--p) * 100%), #EEF3FA); color: var(--text); font-weight: 600; }
.ta-sfheat td.is-strong { color: #fff; }
.ta-sfmove { list-style: none; margin: 0 0 8px; padding: 0; }
.ta-sfmove li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 2px 10px; align-items: center; margin: 0 !important; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.ta-sfmove__team { font-weight: 600; color: var(--text); }
.ta-sfmove b { font-variant-numeric: tabular-nums; }
.ta-sfmove .is-up b { color: var(--hit); }
.ta-sfmove .is-down b { color: var(--miss); }
.ta-sfmove small { grid-column: 2 / -1; font-size: 12.5px; color: var(--muted); }
#preseason .ta-lock { margin-left: 4px; vertical-align: middle; }
.ta-sfcite__img { display: block; margin: 0 0 12px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.ta-sfcite__img img { display: block; width: 100%; height: auto; }
.ta-sfcite__dl { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.ta-sfcite__dl .ta-btn { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.ta-sfcite__dl .ta-ico { width: 16px; height: 16px; }
.ta-sfcite__label { display: block; margin: 0 0 4px; font-size: 13px; font-weight: 700; color: var(--text); }
.ta-sfcite__text { width: 100%; margin: 0 0 12px; padding: 10px; border: 1px solid var(--line); border-radius: 6px; background: #F7F9FC; box-shadow: none; font: 13px/1.5 var(--mono); color: var(--body); resize: vertical; }
@media (max-width: 549px) {
	.ta-sf th, .ta-sf td { padding: 9px 3px; font-size: 13px; }
	.ta-sfheat { border-spacing: 2px; }
	.ta-sfheat th, .ta-sfheat td { font-size: 12px; }
	/* Giải 18–20 CLB không vừa 390px với chữ 12px: khung .ta-table-wrap cuộn ngang, cột tên CLB dính bên trái. */
	.ta-sfheat td { height: 30px; min-width: 24px; }
	.ta-sfheat tbody th { position: sticky; left: 0; z-index: 1; background: var(--surface); }
	.ta-sfheat__name { display: none; }
	.ta-sfheat__short { display: inline; }
	.ta-sfheat tbody th { padding-right: 4px; }
	.ta-sfheat tbody th .ta-mark { display: none; }
	.ta-sfcite__text { font-size: 12px; }
}

/* ---------- Kết quả /results/ và /results/{ngày}/ (ảnh 09; tỷ số chính xác trung tính, chỉ 1X2 tô màu) ---------- */
.ta-reshero__eyebrow { margin: 0 0 4px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #9BD8FF; }
.ta-results .ta-card__head { flex-wrap: wrap; }
.ta-restable__csv { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 0 auto; }
.ta-restable__csv .ta-ico { width: 17px; height: 17px; }
.ta-restable td, .ta-restable th { vertical-align: middle; }
.ta-restable .ta-table__p { width: auto; min-width: 150px; }
.ta-restable__date { width: 112px; font-size: 13.5px; font-weight: 600; }
.ta-restable__date a { display: block; margin-bottom: 4px; white-space: nowrap; color: var(--text); }
.ta-restable__date .ta-league { font-size: 12.5px; font-weight: 500; color: var(--muted); }
.ta-restable .ta-table__match { min-width: 170px; }
.ta-restable .ta-match { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.ta-restable__score { white-space: nowrap; text-align: center; font-variant-numeric: tabular-nums; }
.ta-restable__score b { font-size: 15px; }
.ta-res__exact { white-space: nowrap; font-weight: 600; color: var(--body); font-variant-numeric: tabular-nums; }
.ta-res__exacthit { margin-left: 4px; padding: 1px 6px; border-radius: 4px; background: #EEF2F7; font-size: 12px; color: var(--text); }
.ta-grade.is-pending { background: #EEF2F7; color: var(--body); }
.ta-grade.is-excluded { background: #F1F4F8; color: var(--neutral); }
.ta-ressum { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ta-resnav { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line-soft); font-size: 14px; font-weight: 600; }
.ta-reslegend { list-style: none; margin: 0; padding: 0; }
.ta-reslegend li { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin: 0 !important; padding: 9px 0; border-top: 1px solid var(--line-soft); font-size: 13px; color: var(--muted); }
.ta-reslegend li:first-child { border-top: 0; padding-top: 0; }
.ta-cal + .ta-cal { margin-top: 20px; }
.ta-cal h3 { margin: 0 0 8px; font-size: 16px; }
.ta-cal ol { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; list-style: none; margin: 0; padding: 0; }
.ta-cal li { margin: 0 !important; }
.ta-cal__head li { font-size: 12px; font-weight: 700; text-align: center; color: var(--muted); }
.ta-cal__grid li { min-height: 62px; padding: 6px 7px; border-radius: 6px; background: #F7F9FC; font-size: 13px; }
.ta-cal__grid li.is-pad { background: transparent; }
.ta-cal__grid li.has-results { padding: 0; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.ta-cal__grid li.has-results a { display: flex; flex-direction: column; gap: 1px; height: 100%; padding: 6px 7px; border-radius: 6px; color: var(--text); }
.ta-cal__grid li.has-results a:hover { background: #F1F6FF; }
.ta-cal__grid li.is-today { box-shadow: inset 0 0 0 2px var(--accent); }
.ta-cal__d { font-weight: 700; color: var(--muted); }
.ta-cal__hit, .ta-cal__miss { font-weight: 700; font-variant-numeric: tabular-nums; }
.ta-cal__hit { color: var(--hit); }
.ta-cal__miss { color: var(--miss); }
/* Bảng nhiều cột: dưới 1100px cột phải xuống dưới để bảng không phải cuộn ngang. */
@media (max-width: 1100px) {
	.ta-resultspage .ta-lrow { grid-template-columns: minmax(0, 1fr); }
}
/* Dưới 850px bảng thành thẻ: ngày + giải / trận + tỷ số / xác suất / 1X2 + tỷ số cao nhất. */
@media (max-width: 849px) {
	.ta-restable thead { display: none; }
	.ta-restable, .ta-restable tbody { display: block; }
	.ta-restable tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "date date" "match score" "p p" "out exact"; gap: 8px 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
	.ta-restable--day tr { grid-template-areas: "lg lg" "match score" "p p" "out exact"; }
	.ta-restable td { border: 0; padding: 0; }
	.ta-restable .ta-restable__date { grid-area: date; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; width: auto; }
	.ta-restable__date a { margin: 0; }
	.ta-restable .ta-table__lg { grid-area: lg; width: auto; }
	.ta-restable .ta-table__match { grid-area: match; min-width: 0; }
	.ta-restable .ta-restable__score { grid-area: score; }
	.ta-restable .ta-restable__score b { font-size: 18px; }
	.ta-restable .ta-table__p { grid-area: p; min-width: 0; width: auto; }
	.ta-restable .ta-cell:before { content: attr(data-label); display: block; margin-bottom: 1px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
	.ta-restable .ta-restable__out { grid-area: out; }
	.ta-restable .ta-restable__exact { grid-area: exact; font-size: 13px; text-align: right; }
	.ta-restable .ta-restable__exact::before { content: "Top score "; font-weight: 400; color: var(--muted); }
}
@media (max-width: 549px) {
	.ta-restable__csv { width: 100%; justify-content: center; margin: 8px 0 0; }
	.ta-ressum { grid-template-columns: 1fr 1fr; }
	.ta-cal ol { gap: 3px; }
	.ta-cal__grid li { min-height: 50px; padding: 4px; font-size: 12px; }
	.ta-cal__grid li.has-results a { padding: 4px; }
}

/* ---------- Hub /predictions/ (ảnh 05: lưới giải; không ảnh sân/logo giải cỡ lớn, decisions.md §3.1) ---------- */
.ta-hubhero__days { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ta-hubhero__days .ta-btn { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.ta-hubhero__days .ta-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .5); color: #fff !important; }
.ta-hubsec { margin-top: 28px; }
.ta-hubsec:first-child { margin-top: 0; }
.ta-hubleagues { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ta-hubleague { display: flex; flex-direction: column; gap: 12px; padding: 20px; }
.ta-hubleague__head { display: flex; align-items: center; gap: 12px; }
.ta-hubleague__head > div { flex: 1; min-width: 0; }
.ta-hubleague__head h3 { margin: 0; font-size: 19px; line-height: 1.25; }
.ta-hubleague__head h3 a { color: var(--text); }
.ta-hubleague__head p { margin: 2px 0 0; font-size: 13.5px; color: var(--muted); }
.ta-hubleague__status { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 3px 9px; border-radius: 999px; background: #E5F5EC; font-size: 12.5px; font-weight: 600; color: var(--hit); }
.ta-hubleague__status i { width: 7px; height: 7px; border-radius: 50%; background: var(--hit); }
.ta-hubleague .ta-teamfacts dd b { color: var(--text); }
.ta-hubleague .ta-teamfacts dd { font-weight: 600; }
.ta-hubleague__cta { display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin: auto 0 0; }
.ta-hubleague__links { display: flex; justify-content: center; gap: 18px; margin: 0; font-size: 13.5px; font-weight: 600; }
.ta-hubmkts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ta-hubmkt { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; color: var(--text); transition: border-color .15s, box-shadow .15s; }
.ta-hubmkt:hover { border-color: #C9D7EA; box-shadow: 0 8px 22px rgba(16, 24, 40, .08); color: var(--text); }
.ta-hubmkt h3 { margin: 0; font-size: 18px; }
.ta-hubmkt__top { margin: 0; font-size: 14px; color: var(--body); }
.ta-hubmkt__top span { display: block; margin-bottom: 2px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.ta-hubmkt .ta-more { margin-top: auto; }
.ta-hubrec__card { padding: 20px; }
.ta-hubrec { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ta-hubrec__links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.ta-hubrec__links .ta-more { margin-top: 0; }
@media (max-width: 849px) {
	.ta-hubleagues, .ta-hubmkts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 549px) {
	.ta-hubleagues, .ta-hubmkts { grid-template-columns: minmax(0, 1fr); }
	.ta-hubrec { grid-template-columns: 1fr 1fr; }
	.ta-hubhero__days .ta-btn { flex: 1; justify-content: center; }
}

/* ---------- Nguồn dữ liệu /sources/ (ảnh 12, bỏ khối "Demo status") ---------- */
.ta-srchero .ta-mhero__in { padding-bottom: 24px; }
.ta-srcstrip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; width: 100%; margin-top: 18px; border-radius: 10px; overflow: hidden; background: rgba(255, 255, 255, .14); }
.ta-srcstrip > div { display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: rgba(5, 16, 30, .78); }
.ta-srcstrip .ta-batch__icon { flex: none; }
.ta-srcstrip p { display: flex; flex-direction: column; margin: 0; color: #D4DDE8; font-size: 13px; line-height: 1.35; }
.ta-srcstrip small { font-size: 12.5px; color: #9BD8FF; }
.ta-srcstrip b { font-size: 22px; color: #fff; }
.ta-srctable th[scope="row"] { font-weight: 700; text-align: left; text-transform: none; letter-spacing: 0; color: var(--text); }
.ta-srctable td, .ta-srctable th { vertical-align: top; white-space: normal; font-size: 14px; }
.ta-src__links { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 4px; font-size: 13px; }
.ta-src__review { display: block; margin-top: 3px; font-size: 12.5px; font-weight: 600; }
.ta-src__review.is-pending { color: #8A5A00; }
.ta-src__review.is-off { color: var(--neutral); }
.ta-src__miss { margin: 0; padding-left: 16px; font-size: 13.5px; }
.ta-src__miss li { margin: 0 0 3px; }
.ta-srcdl > div { grid-template-columns: 128px minmax(0, 1fr); }
.ta-src__list, .ta-src__not { list-style: none; margin: 0; padding: 0; }
.ta-src__list li { display: flex; flex-direction: column; gap: 2px; margin: 0 !important; padding: 9px 0; border-top: 1px solid var(--line-soft); font-size: 13.5px; color: var(--muted); }
.ta-src__list li:first-child { border-top: 0; padding-top: 0; }
.ta-src__list b { color: var(--text); }
.ta-src__not li { position: relative; margin: 0 0 6px !important; padding-left: 18px; font-size: 13.5px; }
.ta-src__not li::before { content: "×"; position: absolute; left: 2px; font-weight: 700; color: var(--miss); }
.ta-srchist { list-style: none; margin: 0 0 10px; padding: 0; }
.ta-srchist li { display: grid; grid-template-columns: 96px auto minmax(0, 1fr); gap: 4px 12px; align-items: baseline; margin: 0 !important; padding: 10px 0; border-top: 1px solid var(--line-soft); font-size: 14px; }
.ta-srchist li:first-child { border-top: 0; }
.ta-srchist time { font-weight: 600; color: var(--muted); }
.ta-srchist p { margin: 0; }
.ta-src__chg { padding: 1px 8px; border-radius: 4px; background: #EEF2F7; font-size: 12.5px; font-weight: 700; }
.ta-src__chg.is-added { background: #E5F5EC; color: var(--hit); }
.ta-src__chg.is-excluded { background: #FCE8EA; color: var(--miss); }
.ta-srccomp { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.ta-srccomp li { margin: 0 !important; }
.ta-srccomp a { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); font-weight: 700; color: var(--text); }
.ta-srccomp small { display: block; font-weight: 500; color: var(--muted); }

/* ---------- Mô hình /models/, /models/{model}/ ---------- */
.ta-modcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ta-modcard { display: flex; flex-direction: column; gap: 10px; padding: 20px; }
.ta-modcard header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.ta-modcard h3 { margin: 0; font-size: 19px; }
.ta-modcard h3 a { color: var(--text); }
.ta-modcard p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--body); }
.ta-modcard .ta-teammetrics { margin: 4px 0 0; }
.ta-modcard .ta-more { margin-top: auto; }
.ta-modcard__status { padding: 3px 9px; border-radius: 999px; background: #EEF2F7; font-size: 12.5px; font-weight: 700; color: var(--body); }
.ta-modcard.is-published .ta-modcard__status { background: var(--pick-bg); color: #0B2E6F; }
.ta-modcard.is-not-used { background: #F7F9FC; }
.ta-modgate { list-style: none; margin: 0 0 10px; padding: 0; }
.ta-modgate li { display: flex; gap: 10px; align-items: flex-start; margin: 0 !important; padding: 10px 0; border-top: 1px solid var(--line-soft); }
.ta-modgate li:first-child { border-top: 0; padding-top: 0; }
.ta-modgate .ta-ico { flex: none; width: 20px; height: 20px; margin-top: 1px; }
.ta-modgate .is-met .ta-ico { color: var(--hit); }
.ta-modgate .is-open .ta-ico { color: var(--neutral); }
.ta-modgate div { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.ta-modgate span { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ta-modrec { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ta-modtable td, .ta-modtable th { white-space: normal; font-size: 14px; vertical-align: top; }
.ta-modtable th[scope="row"] { text-align: left; text-transform: none; letter-spacing: 0; }
.ta-modtable code { white-space: nowrap; }
.ta-modlimits { margin: 0 0 10px; padding-left: 18px; font-size: 14px; }
.ta-modlimits li { margin-bottom: 6px; }
.ta-modelspage .ta-links__txt small { margin-left: 4px; font-size: 12px; font-weight: 600; color: var(--muted); }
.ta-modbrand { display: flex; gap: 8px; align-items: flex-start; margin: 20px 0 0; font-size: 13px; color: var(--muted); }
.ta-modbrand .ta-ico { flex: none; width: 16px; height: 16px; margin-top: 2px; }
@media (max-width: 849px) {
	.ta-srcstrip { grid-template-columns: minmax(0, 1fr); }
	.ta-srccomp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ta-modcards { grid-template-columns: minmax(0, 1fr); }
	.ta-srctable thead, .ta-modtable thead { display: none; }
	.ta-srctable, .ta-srctable tbody, .ta-srctable tr, .ta-srctable td, .ta-srctable th, .ta-modtable, .ta-modtable tbody, .ta-modtable tr, .ta-modtable td, .ta-modtable th { display: block; width: 100%; }
	.ta-srctable tr, .ta-modtable tr { padding: 10px 0; border-bottom: 1px solid var(--line); }
	.ta-srctable td, .ta-srctable th, .ta-modtable td, .ta-modtable th { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 8px; padding: 4px 0; border: 0; }
	.ta-srctable td::before, .ta-srctable th::before, .ta-modtable td::before { content: attr(data-label); font-size: 12.5px; font-weight: 600; color: var(--muted); }
	.ta-modtable th[scope="row"] { display: block; font-size: 15px; }
}
@media (max-width: 549px) {
	.ta-srchist li { grid-template-columns: auto minmax(0, 1fr); }
	.ta-srchist p { grid-column: 1 / -1; }
	.ta-srcdl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.ta-modrec { grid-template-columns: 1fr 1fr; }
	.ta-srccomp { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- About /about/ (UX Builder, pages/about.txt; ảnh 16) ---------- */
.ta-about-hero .section-bg { background-image: radial-gradient(60% 50% at 85% 20%, rgba(0, 96, 252, .28), transparent 70%), radial-gradient(70% 45% at 50% 115%, rgba(17, 120, 62, .5), transparent 72%), linear-gradient(180deg, #0B2140 0%, #071629 55%, #082418 100%); }
.ta-about-hero h1 { margin: 12px 0 8px; font-size: 42px; line-height: 1.1; color: #fff; }
.ta-about-hero__sub { margin: 0 0 12px; font-size: 20px; font-weight: 600; line-height: 1.4; color: #fff; }
.ta-about-hero__lead { max-width: 44em; margin: 0 0 20px; font-size: 16px; line-height: 1.65; color: #D4DDE8; }
.ta-about-hero .button { margin: 0 8px 8px 0; }
.ta-aboutfacts { position: relative; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.ta-aboutfacts > .ta-sample { position: absolute; top: 12px; right: 14px; }
.ta-aboutfacts ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0 0 6px; padding: 0; }
.ta-aboutfacts li { margin: 0 !important; }
.ta-aboutfacts a { display: flex; flex-direction: column; gap: 2px; padding: 8px 4px; color: var(--muted); }
.ta-aboutfacts b { font-size: 30px; font-weight: 800; line-height: 1.15; color: var(--text); font-variant-numeric: tabular-nums; }
.ta-aboutfacts b code { padding: 0; background: none; font-size: 20px; font-weight: 700; color: var(--text); }
.ta-aboutfacts span { font-size: 14px; }
.ta-aboutfacts a:hover b { color: var(--accent); }
.ta-about-sub { margin: -4px 0 16px; font-size: 15px; color: var(--muted); }
.ta-about-panel { padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.ta-about-panel h3 { margin: 0 0 10px; font-size: 18px; }
.ta-about-panel ul { margin: 0; padding-left: 18px; }
.ta-about-panel li { margin-bottom: 8px; font-size: 15px; line-height: 1.55; }
.ta-about-card { height: 100%; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.ta-about-card__n { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-bottom: 10px; border-radius: 50%; background: var(--pick-bg); font-weight: 800; color: var(--accent-strong); }
.ta-about-card h3 { margin: 0 0 6px; font-size: 17px; }
.ta-about-card p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--body); }
.ta-about-link { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--body); transition: border-color .15s, box-shadow .15s; }
.ta-about-link strong { font-size: 16px; color: var(--accent); }
.ta-about-link span { font-size: 14px; line-height: 1.5; }
.ta-about-link:hover { border-color: #C9D7EA; box-shadow: 0 8px 22px rgba(16, 24, 40, .08); color: var(--body); }
.ta-about-note { padding: 12px 14px; border-left: 3px solid var(--accent); border-radius: 6px; background: #EEF4FF; font-size: 14.5px; }
.ta-about-note strong { display: block; color: var(--text); }
@media (max-width: 849px) {
	.ta-aboutfacts ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 549px) {
	.ta-about-hero h1 { font-size: 30px; }
	.ta-about-hero__sub { font-size: 17px; }
	.ta-about-hero__lead { font-size: 15px; }
	.ta-aboutfacts { padding: 40px 14px 12px; }
	.ta-aboutfacts b { font-size: 24px; }
	.ta-aboutfacts span { font-size: 13px; }
}

/* Dữ liệu thật của bộ thu (inc/aip-collector-data.php): nhãn, chip ở hero, nguồn có link, ghi chú từ bài trước trận. */
.ta-chip--real { background: rgba(7, 205, 124, .14); color: #8FF3C6; border: 1px solid rgba(7, 205, 124, .38); white-space: normal; }
.ta-status--suspended { background: #FCE8EA; color: var(--miss); }
.ta-news__src a { color: var(--accent-strong); text-decoration: underline; text-underline-offset: 2px; }
.ta-notes li { grid-template-columns: auto minmax(0, 1fr) auto; }
.ta-notes .ta-src a { color: inherit; }
@media (max-width: 640px) {
	.ta-notes li { grid-template-columns: auto minmax(0, 1fr); }
	.ta-notes .ta-src { grid-column: 2; justify-self: start; }
}
/* Bảng Team news trên màn hình hẹp: mỗi cầu thủ một thẻ (tên + trạng thái, rồi chi tiết, rồi nguồn) thay cho 4 cột chật. */
@media (max-width: 640px) {
	.ta-news__table thead { display: none; }
	.ta-news__table, .ta-news__table tbody { display: block; width: 100%; }
	/* Nhãn trạng thái dài của FotMob ("Suspended (suspension: Early November 2026)") từng đè lên tên: tên giữ tối thiểu 7em, nhãn xuống dòng. */
	.ta-news__table tr { display: grid; grid-template-columns: minmax(7em, 1fr) auto; gap: 4px 10px; padding: 10px 0; border-top: 1px solid var(--line-soft); }
	.ta-news__table .ta-status { white-space: normal; text-align: right; }
	.ta-news__table tr:first-child { border-top: 0; }
	.ta-news__table td { display: block; padding: 0 !important; border: 0 !important; }
	.ta-news__table td:first-child { font-weight: 700; }
	.ta-news__table td:nth-child(2) { justify-self: end; }
	.ta-news__table td:nth-child(3), .ta-news__table td.ta-news__src { grid-column: 1 / -1; }
}
