/* CardTracker Scores: uses the CardTracker theme's colour tokens, with fallbacks. */
.cts { --cts-line: var(--line, #e2e4e8); --cts-muted: var(--muted, #5a6371); --cts-surface: var(--surface, #fff); --cts-accent: var(--accent, #b3122e); --cts-ok: var(--ok, #1e7a46); }
.cts-date { color: var(--cts-muted); font-weight: 600; margin: 0 0 8px; }
.cts-sport { margin: 24px 0 8px; }
.cts-sport h2 { font-size: 1.25rem; margin: 0 0 12px; }
.cts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.cts-game { background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; padding: 12px 14px; }
.cts-game.is-live { border-color: var(--cts-accent); box-shadow: 0 0 0 1px var(--cts-accent) inset; }
.cts-status { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: .8125rem; font-weight: 600; color: var(--cts-muted); }
.cts-live { background: var(--cts-accent); color: #fff; border-radius: 4px; padding: 1px 6px; font-size: .6875rem; letter-spacing: .04em; text-transform: uppercase; }
.cts-tag { background: var(--sunken, #eef0f2); color: var(--ink, #15191f); border-radius: 4px; padding: 1px 6px; font-size: .6875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.cts-tag.is-playoff { background: var(--accent-soft, #fdecef); color: var(--accent-ink, #8f0e24); }
.cts-team { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 4px 0; }
.cts-team img, .cts-nologo { width: 32px; height: 32px; object-fit: contain; }
.cts-nologo { display: block; border-radius: 50%; background: var(--sunken, #eef0f2); }
.cts-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9375rem; }
.cts-name a { text-decoration: none; }
.cts-name a:hover { text-decoration: underline; }
.cts-score { font-size: 1.125rem; font-variant-numeric: tabular-nums; min-width: 2ch; text-align: right; }
.cts-game.is-final .cts-team:not(.is-winner) { color: var(--cts-muted); }
.cts-team.is-winner .cts-name { font-weight: 700; }
.cts-empty { color: var(--cts-muted); background: var(--cts-surface); border: 1px dashed var(--cts-line); border-radius: 10px; padding: 14px 16px; }
.cts-foot { margin-top: 24px; font-weight: 600; }
.cts-daynav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 16px; }
.cts-dayform, .cts-teamform { display: flex; align-items: center; gap: 8px; }
.cts-dayform input { width: auto; min-height: 38px; }
.cts-teamform select { width: auto; min-width: 240px; }
.cts-teamform label { font-weight: 600; }
.cts-divs { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin-bottom: 24px; }
.cts-div { background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; padding: 12px 14px; }
.cts-div h3 { font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; color: var(--cts-muted); margin: 0 0 6px; }
.cts .cts-div ul, .cts .cts-recent { list-style: none; margin: 0; padding: 0; } /* beats the theme's page list styles */
.cts-div a { display: flex; align-items: center; gap: 10px; padding: 5px 0; text-decoration: none; font-weight: 600; }
.cts-div img { width: 36px; height: 36px; object-fit: contain; }
.cts-teamhead { display: flex; align-items: center; gap: 14px; margin: 20px 0 12px; }
.cts-teamhead img { width: 56px; height: 56px; object-fit: contain; }
.cts-teamhead h2 { margin: 0; }
.cts-teamhead p { margin: 0; color: var(--cts-muted); }
.cts-tablewrap { overflow-x: auto; background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; }
.cts-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.cts-table th, .cts-table td { padding: 9px 14px; border-bottom: 1px solid var(--cts-line); text-align: right; }
.cts-table th[scope=row] { text-align: left; font-weight: 600; }
.cts-table thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--cts-muted); }
.cts-table tr:last-child th, .cts-table tr:last-child td { border-bottom: 0; }
.cts-note { color: var(--cts-muted); font-size: .8125rem; }
.cts .cts-recent li { margin: 0; display: grid; grid-template-columns: 28px 56px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--cts-line); }
.cts-wl { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; font-weight: 700; font-size: .75rem; color: #fff; }
.cts-wl.is-w { background: var(--cts-ok); }
.cts-wl.is-l { background: var(--cts-muted); }

/* Season schedule */
.cts-tabs { display: flex; gap: 6px; margin: 0 0 16px; border-bottom: 1px solid var(--cts-line); }
.cts-tabs a { padding: 8px 14px; font-weight: 700; text-decoration: none; color: var(--cts-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.cts-tabs a[aria-current] { color: var(--ink, #15191f); border-bottom-color: var(--cts-accent); }
.cts-schedform { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 12px; }
.cts-schedform select { width: auto; min-width: 200px; }
.cts .cts-month { margin: 0; font-size: 1.25rem; } /* beats the theme's page heading spacing */
.cts-day { margin: 18px 0 0; }
.cts-day h3 { font-size: .9375rem; margin: 0 0 6px; display: flex; align-items: center; gap: 8px; }
.cts-day.is-today h3 { color: var(--cts-accent); }
.cts .cts-sched { list-style: none; margin: 0; padding: 0; background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; }
.cts .cts-sched li { display: grid; grid-template-columns: 110px minmax(0, 1fr) 20px minmax(0, 1fr); gap: 10px; align-items: center; padding: 8px 12px; border-bottom: 1px solid var(--cts-line); margin: 0; }
.cts .cts-sched li:last-child { border-bottom: 0; }
.cts-sched li.is-live { background: var(--accent-soft, #fdecef); }
.cts-sched-when { font-size: .8125rem; font-weight: 600; color: var(--cts-muted); display: flex; align-items: center; gap: 6px; }
.cts-sched-team { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: .9375rem; }
.cts-sched-team img, .cts-sched-team .cts-nologo { width: 22px; height: 22px; flex: none; }
.cts-sched-team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cts-sched-team strong { margin-left: auto; font-variant-numeric: tabular-nums; }
.cts-sched li.is-final .cts-sched-team:not(.is-winner) { color: var(--cts-muted); }
.cts-sched-team.is-winner span { font-weight: 700; }
.cts-sched-team.is-mine span { text-decoration: underline; text-decoration-color: var(--cts-accent); text-underline-offset: 3px; }
.cts-at { color: var(--cts-muted); text-align: center; font-size: .8125rem; }
@media (max-width: 640px) {
	.cts .cts-sched li { grid-template-columns: 1fr; gap: 4px; }
	.cts-at { display: none; }
}

/* Team rosters */
.cts .cts-teamgrid { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.cts .cts-teamgrid li { margin: 0; }
.cts-teamgrid a { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; text-decoration: none; font-weight: 600; }
.cts-teamgrid a:hover { border-color: var(--cts-accent); }
.cts-teamgrid img { width: 36px; height: 36px; object-fit: contain; }
.cts-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.cts-block { margin: 28px 0 0; }
.cts .cts-block h2 { font-size: 1.25rem; margin: 0 0 12px; }
.cts .cts-block h3 { font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; color: var(--cts-muted); margin: 18px 0 6px; }
.cts-roster-table { table-layout: fixed; min-width: 640px; }
.cts-roster-table th, .cts-roster-table td { text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cts-roster-table th:nth-child(1) { width: 56px; }
.cts-roster-table th:nth-child(2) { width: auto; }
.cts-roster-table thead th:nth-child(n+3) { width: 72px; }
.cts-roster-table td:first-child { color: var(--cts-muted); width: 3ch; }
.cts-roster-table abbr { text-decoration: none; }
.cts-player { display: flex; align-items: center; gap: 10px; }
.cts-player img, .cts-nophoto { width: 40px; height: 29px; object-fit: cover; border-radius: 4px; background: var(--sunken, #eef0f2); flex: none; }
.cts-nophoto { display: block; }
.cts-inj-status { display: inline-block; background: var(--accent-soft, #fdecef); color: var(--accent-ink, #8f0e24); border-radius: 4px; padding: 0 6px; font-size: .75rem; font-weight: 700; vertical-align: 1px; }
.cts .cts-injuries, .cts .cts-news { list-style: none; margin: 0; padding: 0; background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; }
.cts .cts-injuries li { margin: 0; padding: 10px 14px; border-bottom: 1px solid var(--cts-line); }
.cts .cts-injuries li:last-child, .cts .cts-news li:last-child { border-bottom: 0; }
.cts-injuries p { margin: 4px 0 0; font-size: .875rem; }
.cts-injuries .cts-inj-what { color: var(--cts-muted); font-weight: 600; font-size: .8125rem; }
.cts-pos { color: var(--cts-muted); font-size: .8125rem; font-weight: 600; }
.cts .cts-news li { margin: 0; border-bottom: 1px solid var(--cts-line); }
.cts-news a { display: flex; gap: 14px; padding: 12px 14px; text-decoration: none; color: inherit; }
.cts-news a:hover strong { text-decoration: underline; }
.cts-news img { width: 120px; height: 68px; object-fit: cover; border-radius: 6px; flex: none; background: var(--sunken, #eef0f2); }
.cts-news a > span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cts-news-sum { font-size: .875rem; color: var(--cts-muted); }
.cts-news-date { font-size: .75rem; color: var(--cts-muted); font-weight: 600; }
.cts-roster-link { font-weight: 600; margin-left: 4px; }
.cts-sched-team a, .cts-recent a { color: inherit; text-decoration: none; }
.cts-sched-team a:hover, .cts-recent a:hover { text-decoration: underline; }
@media (max-width: 640px) {
	.cts-news img { width: 88px; height: 50px; }
}

/* Fantasy contests */
.ctf .notice { margin-bottom: 16px; }
.ctf-lead { font-size: 1.0625rem; max-width: 60ch; }
.ctf-hub { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.ctf-card { background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; padding: 16px 18px; }
.cts .ctf-card h2 { margin: 0 0 6px; font-size: 1.25rem; }
.ctf-when { font-weight: 700; margin: 0 0 4px; }
.cts .ctf-top { margin: 8px 0 12px; padding-left: 20px; }
.ctf-top li { margin: 0; }
.ctf-top li span { margin-right: 8px; }
.ctf-head h2 { margin: 16px 0 2px; font-size: 1.25rem; }
.cts .ctf-games { list-style: none; padding: 0; margin: 8px 0 16px; display: flex; flex-wrap: wrap; gap: 6px; }
.cts .ctf-games li { margin: 0; background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 999px; padding: 3px 10px; font-size: .8125rem; font-weight: 600; }
.ctf-games li span { color: var(--cts-muted); font-weight: 500; }
.ctf-signin { background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; padding: 16px 18px; }
.ctf-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.ctf-lineup { order: 2; position: sticky; top: 12px; background: var(--cts-surface); border: 1px solid var(--cts-line); border-radius: 10px; padding: 14px 16px; }
.ctf-pool { order: 1; min-width: 0; }
.cts .ctf-lineup h2, .cts .ctf-pool h2 { font-size: 1.0625rem; margin: 0 0 10px; }
.cts .ctf-slots { list-style: none; margin: 0 0 10px; padding: 0; }
.cts .ctf-slots li { margin: 0; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--cts-line); }
.ctf-slot { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--cts-muted); }
.ctf-who { display: flex; flex-direction: column; min-width: 0; }
.ctf-who strong, .ctf-who small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ctf-who small { color: var(--cts-muted); }
.ctf-who.is-empty { color: var(--cts-muted); font-style: italic; }
.ctf-x { border: 0; background: none; font-size: 1.25rem; line-height: 1; cursor: pointer; color: var(--cts-muted); padding: 2px 6px; }
.ctf-x:hover { color: var(--cts-accent); }
.ctf-cap { display: flex; justify-content: space-between; font-weight: 600; margin: 4px 0 12px; }
.ctf-cap .is-over { color: var(--cts-accent); }
.ctf-lineup input[name="nickname"] { width: 100%; margin-top: 4px; }
.ctf-lineup .btn { width: 100%; }
.ctf-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 10px; }
.ctf-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ctf-filters input[type="search"] { flex: 1 1 200px; width: auto; min-height: 36px; }
.ctf-table th, .ctf-table td { text-align: left; white-space: nowrap; }
.ctf-table td:nth-child(n+3), .ctf-table th:nth-child(n+3) { text-align: right; }
.ctf-table .cts-player img, .ctf-table .cts-nophoto { width: 32px; height: 24px; }
.ctf-table .cts-player > span { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; white-space: normal; }
.ctf-team { color: var(--cts-muted); font-weight: 500; flex-basis: 100%; }
.ctf-table tr.is-chosen { background: var(--accent-soft, #fdecef); }
.ctf-table .btn[data-over] { opacity: .55; }
.ctf-table .link-btn { font: inherit; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline dotted; }
.ctf-cards { font-size: .75rem; font-weight: 700; color: var(--cts-ok); }
.ctf-total th, .ctf-total td { border-top: 2px solid var(--cts-line); }
.ctf-board td:first-child { width: 3ch; color: var(--cts-muted); }
.ctf-board th, .ctf-board td { text-align: left; }
.ctf-board td:last-child { text-align: right; }
.ctf-board tr.is-me { background: var(--accent-soft, #fdecef); }
.ctf-periods { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.ctf-nick { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ctf-nick input { width: auto; min-width: 220px; }
@media (max-width: 860px) {
	.ctf-cols { grid-template-columns: 1fr; }
	.ctf-lineup { order: 0; position: static; }
}
@media (max-width: 600px) { /* the position is on the player's second line */
	.ctf-pool .ctf-table th:nth-child(2), .ctf-pool .ctf-table td:nth-child(2) { display: none; }
	.ctf-pool .ctf-table th, .ctf-pool .ctf-table td { padding: 8px 6px; }
	.ctf-pool .ctf-table .cts-player img, .ctf-pool .ctf-table .cts-nophoto { display: none; }
	.ctf-pool .ctf-table .btn-small { padding: 0 10px; }
}
