/* Kora Score – results plugin. Uses the theme's colours when it defines the app tokens, light defaults otherwise. */
.ksl, .ksl-wrap {
  --k-bg: var(--bg, #F2F5F9);
  --k-surface: var(--surface, #FFFFFF);
  --k-surface-2: var(--surface-2, #E9EEF5);
  --k-line: var(--line, #E2E7EF);
  --k-ink: var(--ink, #0D1220);
  --k-muted: var(--muted, #667085);
  --k-faint: var(--faint, #A2AABA);
  --k-live: var(--live, #E8384A);
  --k-brand: var(--brand, #1F6FEB);
  --k-brand-soft: var(--brand-soft, rgba(31, 111, 235, .10));
  --k-win: var(--win, #1F9D55);
  --k-draw: var(--draw, #9A9AA1);
  --k-r: var(--r-lg, 14px);
}
.ksl { color: var(--k-ink); font-size: 15px; line-height: 1.6; }
.ksl *, .ksl *::before, .ksl *::after { box-sizing: border-box; }
.ksl a { color: inherit; text-decoration: none; }
.ksl h1, .ksl h2, .ksl h3, .ksl h4 { color: var(--k-ink); margin: 0; line-height: 1.35; }
.ksl img { max-width: none; }
.ksl-wrap { max-width: 1180px; margin: 0 auto; padding: 16px; }
.ksl-i { flex: none; vertical-align: middle; }
.ksl-muted { color: var(--k-muted); }

/* breadcrumbs + page head */
.ksl-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--k-muted); margin: 0 0 12px; }
.ksl-crumbs a:hover { color: var(--k-brand); }
.ksl-crumbs b { color: var(--k-ink); font-weight: 600; }
.ksl-phead { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; }
.ksl-phead h1 { font-size: clamp(22px, 3.2vw, 30px); font-weight: 700; }
.ksl-phead h1 small { font-size: .6em; color: var(--k-muted); font-weight: 500; }
.ksl-phead p { margin: 4px 0 0; color: var(--k-muted); font-size: 14px; }
.ksl-phead img { border-radius: 12px; background: #fff; padding: 4px; }

/* day chips */
.ksl-days { display: flex; align-items: center; gap: 6px; margin: 0 0 14px; }
.ksl-days-list { display: flex; gap: 6px; flex: 1; overflow-x: auto; scrollbar-width: none; }
.ksl-days-list::-webkit-scrollbar { display: none; }
.ksl-day { flex: 1 0 64px; display: flex; flex-direction: column; align-items: center; padding: 7px 4px; border-radius: 12px; background: var(--k-surface); border: 1px solid var(--k-line); color: var(--k-muted); transition: background .15s; }
.ksl-day small { font-size: 12px; }
.ksl-day b { font-size: 18px; color: var(--k-ink); line-height: 1.2; }
.ksl-day:hover { border-color: var(--k-brand); }
.ksl-day.is-cur { background: var(--k-brand); border-color: var(--k-brand); color: #fff; }
.ksl-day.is-cur b { color: #fff; }
.ksl-days-arrow, .ksl-days-pick { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 12px; background: var(--k-surface); border: 1px solid var(--k-line); color: var(--k-muted); cursor: pointer; position: relative; }
.ksl-days-arrow:hover, .ksl-days-pick:hover { color: var(--k-brand); }
.ksl-days-pick input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }

/* league block + rows */
.ksl-livebar { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--k-live); background: color-mix(in srgb, var(--k-live) 12%, transparent); padding: 4px 12px; border-radius: 99px; margin: 0 0 12px; }
.ksl-lg { margin: 0 0 16px; }
.ksl-lg-head { display: flex; align-items: center; gap: 10px; padding: 0 4px 8px; }
.ksl-lg-logo { border-radius: 6px; background: #fff; }
.ksl-lg-name { flex: 1; min-width: 0; font-weight: 700; font-size: 15px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ksl-lg-name a:hover { color: var(--k-brand); }
.ksl-lg-name small { font-weight: 400; font-size: 12.5px; color: var(--k-muted); }
.ksl-lg-more { display: inline-flex; align-items: center; gap: 2px; font-size: 13px; color: var(--k-brand); }
.ksl-lg-more .ksl-i { width: 15px; height: 15px; }
.ksl-card { background: var(--k-surface); border: 1px solid var(--k-line); border-radius: var(--k-r); overflow: hidden; }
.ksl-card.is-flat { border: 0; border-radius: 0; background: transparent; }
.ksl-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 11px 14px; min-height: 64px; border-top: 1px solid var(--k-line); transition: background .15s; }
.ksl-card > .ksl-row:first-child, .ksl-sep + .ksl-row { border-top: 0; }
.ksl-row:hover { background: var(--k-brand-soft); }
.ksl-team { display: flex; align-items: center; gap: 9px; min-width: 0; font-weight: 600; font-size: 14.5px; }
.ksl-home { justify-content: flex-end; text-align: left; }
.ksl-away { justify-content: flex-start; }
.ksl-tname { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ksl-team.is-win .ksl-tname { color: var(--k-ink); }
.ksl-row.is-finished .ksl-team:not(.is-win) .ksl-tname { color: var(--k-muted); font-weight: 500; }
.ksl-logo { width: 28px; height: 28px; object-fit: contain; }
.ksl-noimg { display: inline-block; border-radius: 50%; background: var(--k-surface-2); }
.ksl-mid { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 76px; }
.ksl-score { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 18px; padding: 2px 10px; border-radius: 10px; background: var(--k-surface-2); font-variant-numeric: tabular-nums; }
.ksl-score i { font-style: normal; color: var(--k-faint); font-weight: 400; }
.is-live .ksl-score { background: color-mix(in srgb, var(--k-live) 13%, var(--k-surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--k-live) 35%, transparent); }
.ksl-time { font-weight: 700; font-size: 15px; padding: 3px 10px; border-radius: 10px; background: var(--k-surface-2); white-space: nowrap; }
.ksl-time.is-off { font-size: 12.5px; color: var(--k-muted); }
.ksl-min { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: var(--k-live); }
.ksl-st, .ksl-ch { font-size: 11.5px; color: var(--k-muted); white-space: nowrap; max-width: 130px; overflow: hidden; text-overflow: ellipsis; }
.ksl-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--k-live); display: inline-block; animation: ksl-pulse 1.4s ease-in-out infinite; }
@keyframes ksl-pulse { 50% { opacity: .35; } }
.ksl-sep { padding: 10px 14px 4px; font-size: 12.5px; font-weight: 600; color: var(--k-muted); }
.ksl-empty { text-align: center; padding: 40px 16px; color: var(--k-muted); background: var(--k-surface); border: 1px dashed var(--k-line); border-radius: var(--k-r); }
.ksl-empty .ksl-i { width: 34px; height: 34px; opacity: .6; }

/* boxes */
.ksl-box { background: var(--k-surface); border: 1px solid var(--k-line); border-radius: var(--k-r); padding: 16px; margin: 0 0 16px; }
.ksl-box > h2 { font-size: 16.5px; font-weight: 700; margin: 0 0 12px; }
.ksl-box .ksl-card.is-flat { margin: 0 -16px -16px; }
.ksl-grid2 { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.ksl-grp { font-size: 13.5px; color: var(--k-muted); margin: 14px 0 8px !important; }
.ksl-more { text-align: center; }
.ksl-more a { color: var(--k-brand); font-weight: 600; }

/* match hero */
.ksl-hero { background: linear-gradient(160deg, color-mix(in srgb, var(--k-brand) 16%, var(--k-surface)), var(--k-surface) 60%); border: 1px solid var(--k-line); border-radius: 20px; padding: 18px 16px 20px; margin: 0 0 14px; }
.ksl-hero.is-live { background: linear-gradient(160deg, color-mix(in srgb, var(--k-live) 14%, var(--k-surface)), var(--k-surface) 60%); }
.ksl-hero-lg { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13.5px; color: var(--k-muted); margin: 0 0 14px; }
.ksl-hero-lg img { border-radius: 5px; background: #fff; }
.ksl-hero-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.ksl-hteam { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; font-weight: 700; font-size: 17px; }
a.ksl-hteam:hover span { color: var(--k-brand); }
.ksl-hlogo { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .18)); }
.ksl-hero-mid { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.ksl-hero .ksl-score { font-size: 34px; padding: 4px 16px; border-radius: 14px; gap: 10px; }
.ksl-hero .ksl-time { font-size: 24px; padding: 6px 16px; border-radius: 14px; }
.ksl-hero .ksl-min { font-size: 14px; }
.ksl-hero .ksl-st { font-size: 13px; max-width: none; }
.ksl-ht { font-size: 12px; color: var(--k-muted); }
.ksl-hero-goals { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; margin: 14px 0 0; font-size: 12.5px; color: var(--k-muted); line-height: 1.8; }
.ksl-hero-goals > div:first-child { text-align: center; }
.ksl-hero-goals > div:last-child { text-align: center; }
.ksl-hero-goals span { opacity: .6; }
.ksl-summary { margin: 0 0 16px; color: var(--k-muted); font-size: 14.5px; }

/* info list */
.ksl-info { list-style: none; margin: 0; padding: 0; }
.ksl-info li { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--k-line); font-size: 14px; }
.ksl-info li:first-child { border-top: 0; padding-top: 0; }
.ksl-info li .ksl-i { color: var(--k-brand); }
.ksl-info li span { color: var(--k-muted); min-width: 92px; }
.ksl-info li b { font-weight: 600; }

/* events */
.ksl-ev-teams { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--k-muted); font-weight: 600; margin: -4px 0 8px; }
.ksl-events { list-style: none; margin: 0; padding: 0; }
.ksl-events li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--k-line); font-size: 14px; }
.ksl-events li:first-child { border-top: 0; }
.ksl-events li.is-away { flex-direction: row-reverse; text-align: left; }
.ksl-ev-min { min-width: 40px; font-weight: 700; color: var(--k-muted); font-size: 13px; text-align: center; direction: ltr; }
.ksl-ev-ic { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: var(--k-surface-2); flex: none; }
.ksl-ev-ic .ksl-i { width: 16px; height: 16px; }
.ksl-ev-ic.is-goal { color: var(--k-win); }
.ksl-ev-ic.is-miss { color: var(--k-live); opacity: .8; }
.ksl-ev-ic.is-sub { color: var(--k-brand); }

.ksl-cardi { width: 10px; height: 14px; border-radius: 2px; border: 0; display: block; }
.ksl-cardi.is-y { background: #FFC531; }
.ksl-cardi.is-r { background: #FF4757; }
.ksl-ev-who { display: flex; flex-direction: column; font-weight: 600; }
.ksl-ev-who small { font-weight: 400; color: var(--k-muted); font-size: 12px; }
.ksl-events li.is-goal .ksl-ev-who, .ksl-events li.is-penalty .ksl-ev-who { color: var(--k-ink); }

/* stats */
.ksl-stats { list-style: none; margin: 0; padding: 0; }
.ksl-stats li { padding: 7px 0; }
.ksl-st-top { display: flex; justify-content: space-between; font-size: 13.5px; margin: 0 0 5px; }
.ksl-st-top span { color: var(--k-muted); }
.ksl-bar { display: flex; gap: 4px; height: 6px; }
.ksl-bar i { display: block; height: 100%; border-radius: 3px; background: var(--k-brand); }
.ksl-bar i + i { background: var(--k-faint); opacity: .6; }

/* lineups */
.ksl-lu { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ksl-lu h3 { font-size: 14.5px; margin: 0 0 8px; }
.ksl-lu h3 small { color: var(--k-muted); font-weight: 500; }
.ksl-lu h4 { font-size: 13px; color: var(--k-muted); margin: 12px 0 6px; }
.ksl-lu ol, .ksl-squad { list-style: none; margin: 0; padding: 0; }
.ksl-lu li, .ksl-squad li { display: flex; align-items: center; gap: 8px; padding: 5px 0; font-size: 13.5px; border-top: 1px dashed var(--k-line); }
.ksl-lu li:first-child { border-top: 0; }
.ksl-lu ol.is-subs li { color: var(--k-muted); }
.ksl-num { min-width: 26px; height: 22px; display: inline-grid; place-items: center; border-radius: 6px; background: var(--k-surface-2); font-size: 12px; font-weight: 700; direction: ltr; }
.ksl-coach { font-size: 13px; color: var(--k-muted); margin: 10px 0 0; }
.ksl-squad li small { margin-inline-start: auto; color: var(--k-muted); font-size: 12px; }

/* form dots */
.ksl-form { list-style: none; margin: 0; padding: 0; }
.ksl-form li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--k-line); font-weight: 600; font-size: 14px; }
.ksl-form li:first-child { border-top: 0; }
.ksl-form li small { display: block; font-weight: 400; color: var(--k-muted); font-size: 12px; }
.ksl-fs { display: flex; gap: 4px; direction: ltr; }
.ksl-f { width: 22px; height: 22px; border-radius: 6px; display: inline-grid; place-items: center; font-style: normal; font-size: 11px; font-weight: 700; color: #fff; background: var(--k-draw); }
.ksl-form-c .ksl-f { width: 9px; height: 9px; border-radius: 50%; margin: 0 1px; }
.ksl-f.is-w { background: var(--k-win); }
.ksl-f.is-l { background: var(--k-live); }

/* standings */
.ksl-table-wrap { overflow-x: auto; margin: 0 -16px; }
.ksl-table { width: 100%; border-collapse: collapse; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.ksl-table th { font-weight: 600; color: var(--k-muted); font-size: 12px; padding: 8px 6px; border-bottom: 1px solid var(--k-line); text-align: center; background: transparent; }
.ksl-table td { padding: 8px 6px; border-bottom: 1px solid var(--k-line); text-align: center; }
.ksl-table tr:last-child td { border-bottom: 0; }
.ksl-table .ksl-tm { text-align: right; }
.ksl-table th:first-child, .ksl-table td:first-child { padding-inline-start: 16px; }
.ksl-table .ksl-tm a, .ksl-table td.ksl-tm { display: flex; align-items: center; gap: 8px; font-weight: 600; white-space: nowrap; }
.ksl-table .ksl-tm a:hover { color: var(--k-brand); }
.ksl-table .ksl-tm img { object-fit: contain; }
.ksl-rk { color: var(--k-muted); font-weight: 600; width: 32px; }
.ksl-pts { font-weight: 700; }
.ksl-form-c { white-space: nowrap; direction: ltr; }

/* scorers */
.ksl-scorers { list-style: none; margin: 0; padding: 0; }
.ksl-scorers li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--k-line); }
.ksl-scorers li:first-child { border-top: 0; }
.ksl-scorers img { object-fit: contain; }
.ksl-sc-name { flex: 1; font-weight: 600; font-size: 14px; display: flex; flex-direction: column; }
.ksl-sc-name small { color: var(--k-muted); font-weight: 400; font-size: 12px; }
.ksl-scorers b { font-size: 17px; }

/* leagues grid */
.ksl-lgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.ksl-lgc { display: flex; align-items: center; gap: 10px; padding: 12px; background: var(--k-surface); border: 1px solid var(--k-line); border-radius: var(--k-r); font-weight: 600; font-size: 14px; }
.ksl-lgc:hover { border-color: var(--k-brand); color: var(--k-brand); }
.ksl-lgc img { border-radius: 8px; background: #fff; padding: 2px; object-fit: contain; }

/* app box */
.ksl-app { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px; border-radius: var(--k-r); margin: 0 0 16px; color: #fff; background: linear-gradient(135deg, #1F6FEB, #4C9BFF); }
.ksl-app > .ksl-i { width: 26px; height: 26px; }
.ksl-app p { margin: 0; font-weight: 600; font-size: 14.5px; }
.ksl-btn { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #0D1220 !important; font-weight: 700; font-size: 14px; padding: 9px 16px; border-radius: 12px; }
.ksl-btn:hover { transform: translateY(-1px); }

.ksl-prose { line-height: 1.9; }
.ksl-prose h2, .ksl-prose h3 { margin: 18px 0 8px; }
.ksl-prose a { color: var(--k-brand); }

@media (max-width: 900px) {
  .ksl-grid2 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .ksl-row { padding: 10px 10px; gap: 6px; }
  .ksl-team { font-size: 13.5px; gap: 6px; }
  .ksl-logo { width: 24px; height: 24px; }
  .ksl-mid { min-width: 64px; }
  .ksl-hide-s { display: none; }
  .ksl-hlogo { width: 52px; height: 52px; }
  .ksl-hteam { font-size: 15px; }
  .ksl-hero .ksl-score { font-size: 28px; }
  .ksl-lu { grid-template-columns: 1fr; }
  .ksl-day { flex-basis: 52px; }
  .ksl-days-arrow { display: none; }
}

/* fixed logo sizes even when the theme sets img { height: auto } */
.ksl-logo, .ksl-lg-logo, .ksl-hlogo, .ksl-lgc img, .ksl-table .ksl-tm img, .ksl-scorers img, .ksl-hero-lg img { flex: none; object-fit: contain; }
.ksl-logo { height: 28px !important; }
.ksl-lg-logo { width: 22px; height: 22px !important; }
.ksl-lgc img { width: 36px; height: 36px !important; }
.ksl-table .ksl-tm img, .ksl-scorers img, .ksl-hero-lg img { width: 20px; height: 20px !important; }
.ksl-hlogo { height: 64px !important; }
.ksl-phead img { width: 56px; height: 56px !important; object-fit: contain; }
@media (max-width: 560px) { .ksl-logo { width: 24px; height: 24px !important; } .ksl-hlogo { width: 52px; height: 52px !important; } }

[data-ksl-block] { transition: opacity .15s; }
[data-ksl-block].is-loading { opacity: .5; pointer-events: none; }
