.eska-liga.eska-table-wrap { overflow-x: auto; margin-block: 1.5rem; }
.eska-liga table { width: 100%; border-collapse: collapse; font: inherit; }
.eska-liga caption { text-align: start; font-weight: 600; padding-block: .6rem; }
.eska-liga th, .eska-liga td { text-align: start; padding: .75rem; border-bottom: 1px solid var(--color-content-border, #ddd); vertical-align: top; }
.eska-liga thead th { background: var(--color-content-bg-alt, #f5f5f5); }
.eska-liga.eska-details { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .6rem 1.2rem; }
.eska-liga.eska-details dt { font-weight: 600; }
.eska-liga.eska-details dd { margin: 0; overflow-wrap: anywhere; }
.eska-liga .eska-calendar-day { width: 14.285%; min-width: 6rem; height: 6rem; }
.eska-liga .eska-calendar-day a { display: block; margin-top: .5rem; overflow-wrap: anywhere; }


.eska-liga.eska-results-title, .eska-liga.eska-results-total { text-align: center; }
.eska-liga.eska-details dt { text-align: center; }
.eska-liga .eska-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.eska-ranking-browser { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 2rem; align-items: start; }
.eska-ranking-browser .eska-season-tabs { display: flex; flex-direction: column; gap: .5rem; padding-top: 1rem; }
.eska-ranking-browser button { font: inherit; cursor: pointer; border: 1px solid var(--color-content-border, #ddd); border-radius: 6px; padding: .5rem .8rem; background: var(--color-content-bg, #fff); color: var(--color-content-text, #333); }
.eska-ranking-browser button[aria-selected="true"], .eska-ranking-browser button[aria-current] { background: var(--color-content-primary, #2271b1); color: #fff; }
.eska-ranking-browser button:disabled { opacity: .4; cursor: default; }
.eska-ranking-browser button:focus-visible { outline: 2px solid var(--color-content-primary, #2271b1); outline-offset: 3px; }
.eska-ranking-browser th button { padding: 0; border: 0; background: transparent; font-weight: 600; white-space: nowrap; }
.eska-ranking-browser .eska-ranking-pages { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .35rem; }
.eska-ranking-browser .eska-team-search { display: block; max-width: 360px; }
.eska-ranking-browser .eska-team-search input { width: 100%; margin-top: .4rem; }
.eska-ranking-browser .eska-ranking-note, .eska-ranking-browser .eska-ranking-status { font-size: .85em; opacity: .8; }
.eska-ranking-browser .eska-table-wrap { overflow-x: auto; }
@media (max-width: 700px) { .eska-ranking-browser { grid-template-columns: 1fr; gap: 1rem; } .eska-ranking-browser .eska-season-tabs { grid-row: 1; flex-direction: row; flex-wrap: wrap; } }

.eska-liga.eska-recent-results { list-style: none; padding: 0; margin: 10px 0 0; }
.eska-liga.eska-recent-results > li { display: flex; align-items: flex-start; gap: 1.1rem; margin: 0 0 1.5rem; padding: 0; }
.eska-recent-results .eska-recent-date { flex: 0 0 65px; width: 65px; box-sizing: border-box; text-align: center; border: 1px solid #ddd; border-radius: 8px; padding: 8px 9px; line-height: 1.25; }
.eska-recent-date span { display: block; }
.eska-recent-date .eska-recent-day { font-size: 1.25rem; font-weight: 600; padding-bottom: 5px; margin-bottom: 5px; border-bottom: 1px solid #ddd; }
.eska-recent-date .eska-recent-month { font-size: .875rem; }
.eska-recent-date .eska-recent-year { font-size: .7rem; margin-top: 3px; }
.eska-recent-results .eska-recent-content { min-width: 0; overflow-wrap: anywhere; }
.eska-recent-results .eska-recent-title { margin: 0 0 .3rem; font-size: 1rem; line-height: 1.4; }
.eska-recent-results .eska-recent-address { font-size: .85rem; line-height: 1.4; }
.eska-recent-results p { margin: 0 0 .6rem; }
.eska-recent-results .eska-recent-link { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid #ddd; border-radius: 15px; padding: 6px 11px; line-height: 1.25; font-size: .9rem; text-decoration: none; transition: border-color .15s; }
.eska-recent-results .eska-recent-link:hover, .eska-recent-results .eska-recent-link:focus-visible { border-color: #000; }

.eska-liga.eska-recent-results > li + li { border-top: 1px solid #ddd; padding-top: 1.5rem; }
.eska-compact-table tbody .eska-row-grey > * { background: #f5f5f5; color: #222; }
.eska-compact-table tbody .eska-row-white > * { background: #fff; color: #222; }
.eska-compact-table [hidden] { display: none !important; }
.eska-compact-table .eska-winners-pager { display: flex; justify-content: flex-end; align-items: center; gap: .65rem; }
.eska-compact-table .eska-winners-pager button { background: transparent; color: inherit; border: 1px solid #ddd; border-radius: 8px; padding: .25rem .65rem; line-height: 1.3; cursor: pointer; }
.eska-compact-table .eska-winners-pager button:disabled { opacity: .35; cursor: default; }
.eska-compact-table .eska-winners-pager button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.eska-quiz-seasons { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 2rem; align-items: start; }
.eska-quiz-seasons [hidden] { display: none !important; }
.eska-quiz-seasons .eska-quiz-tabs { display: flex; flex-direction: column; gap: .5rem; padding-top: 1rem; }
.eska-quiz-tabs button { font: inherit; cursor: pointer; border: 1px solid var(--color-content-border, #ddd); border-radius: 6px; padding: .5rem .8rem; background: var(--color-content-bg, #fff); color: var(--color-content-text, #333); }
.eska-quiz-tabs button[aria-selected="true"] { background: var(--color-content-primary, #2271b1); color: #fff; }
.eska-quiz-tabs button:focus-visible { outline: 2px solid var(--color-content-primary, #2271b1); outline-offset: 3px; }
@media (max-width: 700px) { .eska-quiz-seasons { grid-template-columns: 1fr; gap: 1rem; } .eska-quiz-seasons .eska-quiz-tabs { grid-row: 1; flex-direction: row; flex-wrap: wrap; } }
.eska-quiz-seasons .eska-quiz-pages { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .35rem; }
.eska-quiz-pages button { font: inherit; cursor: pointer; border: 1px solid #ddd; border-radius: 6px; padding: .4rem .7rem; background: var(--color-content-bg, #fff); color: var(--color-content-text, #333); }
.eska-quiz-pages button[aria-current] { background: var(--color-content-primary, #2271b1); color: #fff; }
.eska-quiz-pages button:disabled { opacity: .4; cursor: default; }
.eska-quiz-pages button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.eska-quiz-seasons .eska-recent-results > li.eska-page-first { border-top: 0; padding-top: 0; }
.eska-quiz-sidebar { min-width: 0; }
.eska-quiz-sidebar .eska-quiz-search { width: 100%; box-sizing: border-box; }
@media (max-width: 700px) { .eska-quiz-seasons .eska-quiz-sidebar { grid-row: 1; } }
/* Shared season navigation for the ranking and quiz list. */
.eska-liga .eska-season-tabs, .eska-liga .eska-quiz-tabs { position: relative; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0; padding: 0 0 0 1rem; border-left: 1px solid #ddd; }
.eska-liga .eska-season-tabs > button[role="tab"], .eska-liga .eska-quiz-tabs > button[role="tab"] { position: relative; display: block; width: 100%; text-align: left; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: #000; padding: .7rem .5rem; line-height: 1.4; transition: color .18s ease; }
.eska-liga .eska-season-tabs > button[role="tab"]:hover, .eska-liga .eska-quiz-tabs > button[role="tab"]:hover,
.eska-liga .eska-season-tabs > button[aria-selected="true"], .eska-liga .eska-quiz-tabs > button[aria-selected="true"] { background: transparent; color: #ffb606; box-shadow: none; }
.eska-liga .eska-season-tabs > button[role="tab"]:focus-visible, .eska-liga .eska-quiz-tabs > button[role="tab"]:focus-visible { outline: 2px solid #ffb606; outline-offset: 1px; }
.eska-liga .eska-season-tabs::before, .eska-liga .eska-quiz-tabs::before { content: ''; position: absolute; pointer-events: none; width: 3px; left: -2px; top: 0; height: var(--eska-tab-height, 0px); transform: translateY(var(--eska-tab-top, 0px)); background: #ffb606; transition: transform .2s ease, height .2s ease; }
.eska-liga .eska-quiz-sidebar .eska-quiz-tabs { margin-top: 1rem; }
@media (prefers-reduced-motion: reduce) { .eska-liga .eska-season-tabs::before, .eska-liga .eska-quiz-tabs::before { transition: none; } }
.eska-month-view .eska-month-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.eska-month-header h2 { margin: 0; }
.eska-month-header nav { display: flex; gap: .5rem; flex-shrink: 0; }
.eska-month-header button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid #ddd; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; line-height: 1; }
.eska-month-header button:hover { border-color: #000; }
.eska-month-header button:disabled { opacity: .4; cursor: wait; }
.eska-month-view button:focus-visible, .eska-month-view a:focus-visible { outline: 2px solid #ffb606; outline-offset: 3px; }
.eska-month-grid { overflow-x: auto; }
.eska-month-grid table { table-layout: fixed; min-width: 630px; }
.eska-month-grid .eska-calendar-event { display: block; background: #ffb606; color: #111; border-radius: 6px; padding: .4rem; line-height: 1.3; text-decoration: none; }
.eska-calendar-event .eska-event-time { display: block; font-size: .85em; margin-top: .2rem; }
.eska-month-view .eska-month-agenda { list-style: none; margin: 0; padding: 0; }
.eska-month-agenda li { display: flex; align-items: baseline; gap: .8rem; margin: 0 0 .75rem; }
.eska-month-agenda a { overflow-wrap: anywhere; }
.eska-month-agenda i { margin-right: .35rem; }
.eska-month-status { font-size: .85em; }
.eska-month-status:empty { display: none; }

/* Compact blue homepage agenda, with requested white hover text. */
.eska-month-view[data-mode="list"] .eska-month-header h2 { font-size: 1.25rem; line-height: 1.35; color: #134b7c; }
.eska-month-view .eska-month-agenda a, .eska-month-view .eska-month-agenda a:visited { color: #134b7c; }
.eska-month-view .eska-month-agenda a:hover, .eska-month-view .eska-month-agenda a:focus-visible { color: #fff; }
.eska-month-grid a.eska-calendar-event:hover, .eska-month-grid a.eska-calendar-event:focus-visible { color: #fff; }
.eska-month-grid .eska-calendar-event span { color: inherit; }

.eska-month-view[data-mode="list"] .eska-month-header button { border-color: #134b7c; }

.eska-month-view[data-mode="list"] .eska-month-header button:hover, .eska-month-view[data-mode="list"] .eska-month-header button:focus-visible { border-color: #fff; }


.eska-month-agenda .eska-agenda-entry { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); column-gap: .65rem; row-gap: .15rem; align-items: center; }
.eska-agenda-entry .eska-agenda-arrow { display: inline-flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; box-sizing: border-box; border: 1px solid currentColor; border-radius: 50%; font-size: 1rem; line-height: 1; }
.eska-agenda-entry .eska-agenda-date { grid-column: 2; font-size: .85em; line-height: 1.4; color: inherit; }
.eska-agenda-entry .eska-agenda-title { color: inherit; }

/* Keep title and date in one text column, independent of theme link styling. */
.eska-month-agenda .eska-agenda-entry { align-items: start; }
.eska-agenda-entry .eska-agenda-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.eska-agenda-copy .eska-agenda-title, .eska-agenda-copy .eska-agenda-date { display: block; margin: 0; padding: 0; text-align: left; text-indent: 0; }
.eska-agenda-copy .eska-agenda-date { margin-top: .15rem; }
.eska-liga .eska-season-tabs > button[role="tab"], .eska-liga .eska-quiz-tabs > button[role="tab"] { font-size: 1.125rem; font-weight: 700; }
.eska-quiz-panels .eska-quiz-search { display: block; width: 100%; max-width: 360px; box-sizing: border-box; margin: 0 0 1rem; }

.eska-recent-results .eska-recent-link:hover, .eska-recent-results .eska-recent-link:focus-visible { color: #000; }
.eska-liga.eska-winners-table thead th { background: #fff; color: #222; }

/* 1.4.0: consistent statistics tables, scoped to plugin output. */
.eska-liga table thead th { background: #fff; color: #222; }
.eska-liga table tbody > tr:nth-child(odd) > * { background: #f5f5f5; color: #222; }
.eska-liga table tbody > tr:nth-child(even) > * { background: #fff; color: #222; }
.eska-liga.eska-compact-table tbody .eska-row-grey > * { background: #f5f5f5; }
.eska-liga.eska-compact-table tbody .eska-row-white > * { background: #fff; }
.eska-liga.eska-table-wrap tr[hidden] { display: none !important; }
.eska-table-pages { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; margin-top: 1rem; }
.eska-table-pages button { font: inherit; line-height: 1.3; padding: .4rem .65rem; border: 1px solid #ddd; border-radius: 6px; background: #fff; color: #222; cursor: pointer; }
.eska-table-pages button[aria-current="page"] { background: #ffb606; border-color: #ffb606; color: #111; }
.eska-table-pages button:disabled { opacity: .4; cursor: default; }
.eska-table-pages button:focus-visible { outline: 2px solid #134b7c; outline-offset: 2px; }

/* Quiz details and result separator, 1.5.0. */
.eska-liga.eska-details { column-gap: 0; row-gap: 0; grid-template-columns: 2.1rem minmax(0,1fr); }
.eska-liga.eska-details dt, .eska-liga.eska-details dd { margin: 0; padding: .7rem 0; border-bottom: 1px solid #ddd; }
.eska-liga.eska-details dt:last-of-type, .eska-liga.eska-details dd:last-of-type { border-bottom: 0; }
.eska-empty-results, .eska-empty-results .eska-liga { text-align: center; }
.eska-results-divider { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 1.5rem 0; color: #aaa; }
.eska-results-divider::before, .eska-results-divider::after { content: ''; flex: 1; border-top: 1px dashed #bbb; }
.eska-results-divider i { flex: 0 0 auto; }

/* 1.6.0: narrow screens must not inherit intrinsic table/grid widths. */
.eska-liga.eska-ranking-browser, .eska-liga.eska-quiz-seasons, .eska-liga.eska-month-view { min-width: 0; max-width: 100%; width: 100%; box-sizing: border-box; }
.eska-ranking-main, .eska-quiz-panels, .eska-ranking-browser .eska-table-wrap, .eska-month-content { min-width: 0; max-width: 100%; }
.eska-ranking-browser .eska-ranking-note { white-space: normal; overflow-wrap: anywhere; }
.eska-season-picker-mobile { display: none; }
@media (max-width: 700px) {
    .eska-liga.eska-ranking-browser, .eska-liga.eska-quiz-seasons { grid-template-columns: minmax(0,1fr); }
    .eska-liga .eska-mobile-enhanced { display: none; }
    .eska-liga .eska-season-picker-mobile { display: block; grid-row: 1; position: relative; min-width: 0; width: 100%; }
    .eska-liga .eska-season-trigger { display: block; width: 100%; text-align: left; padding: .75rem; border: 1px solid #ccc; border-radius: 8px; background: #fff; color: #134b7c; font: inherit; font-weight: 700; cursor: pointer; white-space: normal; }
    .eska-season-picker-panel { position: absolute; inset: 100% 0 auto; z-index: 20; padding: .6rem; background: #fff; border: 1px solid #ccc; border-radius: 8px; box-shadow: 0 6px 18px #0002; box-sizing: border-box; }
    .eska-liga .eska-season-picker-panel[hidden] { display: none !important; }
    .eska-liga .eska-season-picker-panel input { width: 100%; min-width: 0; box-sizing: border-box; margin: 0 0 .5rem; font-size: 16px; }
    .eska-season-options { max-height: 240px; overflow-y: auto; }
    .eska-liga .eska-season-options button { display: block; width: 100%; min-height: 44px; padding: .6rem; text-align: left; font: inherit; color: #222; background: #fff; border: 0; border-radius: 4px; cursor: pointer; }
    .eska-liga .eska-season-options button[aria-current], .eska-liga .eska-season-options button:hover { background: #fff5da; color: #134b7c; }
    .eska-season-picker-mobile button:focus-visible { outline: 2px solid #134b7c; outline-offset: -2px; }
    .eska-ranking-browser .eska-team-search input { box-sizing: border-box; min-width: 0; }
    .eska-ranking-browser table { table-layout: fixed; min-width: 0; width: 100%; }
    .eska-ranking-browser th, .eska-ranking-browser td { padding: .5rem .25rem; font-size: .8rem; white-space: normal; overflow-wrap: anywhere; }
    .eska-ranking-browser th:first-child { width: 34%; }
    .eska-ranking-browser th button { white-space: normal; overflow-wrap: anywhere; max-width: 100%; font-size: inherit; line-height: 1.35; min-height: 44px; }
    .eska-ranking-browser .eska-season-title, .eska-quiz-panels h2 { overflow-wrap: anywhere; }
    .eska-month-view .eska-month-header { flex-wrap: wrap; gap: .5rem; }
    .eska-month-view .eska-month-header h2 { font-size: 1.25rem; }
    .eska-month-view .eska-month-grid table { min-width: 0; width: 100%; table-layout: fixed; }
    .eska-month-view .eska-month-grid th, .eska-month-view .eska-month-grid td { padding: .25rem .1rem; min-width: 0; width: 14.285%; font-size: .7rem; }
    .eska-month-view .eska-month-grid .eska-calendar-day { min-width: 0; height: 4rem; }
    .eska-month-view .eska-month-grid a.eska-calendar-event { display: block; visibility: visible; padding: .25rem .1rem; font-size: .65rem; white-space: normal; overflow-wrap: anywhere; line-height: 1.35; }
    .eska-month-view .eska-event-time { font-size: inherit; }
}
@media (max-width: 700px) {
    .eska-ranking-browser thead th:nth-child(2) { width: 24%; }
    .eska-ranking-browser thead th:nth-child(3) { width: 12%; }
    .eska-ranking-browser thead th:nth-child(4) { width: 30%; }
    .eska-ranking-browser thead th button { font-size: .7rem; }
    .eska-ranking-browser thead th button span { display: block; }
}
