:root {
	--color-bg: #080b12;
	--color-surface: #111827;
	--color-surface-2: #161b26;
	--color-surface-3: #1f2937;
	--color-border: #273043;
	--color-text: #f9fafb;
	--color-text-muted: #c8cdcd;
	--color-gold: #d4af37;
	--color-home: #3b82f6;
	--color-away: #ef4444;
	--color-win: #22c55e;
	--color-draw: #f59e0b;
	--color-loss: #ef4444;
	--color-live: #ef4444;
	--color-success: #22c55e;
	--color-warning: #f59e0b;
	--color-danger: #ef4444;
	--ff-sticky-top-nav-height: 104px;
	--ff-sticky-tab-top: 104px;
	--ff-page-chrome-sticky-height: 128px;
	--ff-page-chrome-sticky-gap: 12px;
	--ff-sticky-offset: calc(var(--ff-page-chrome-sticky-height) + var(--ff-page-chrome-sticky-gap));
	--ff-sticky-sidebar-gap: 12px;
	--ff-sticky-sidebar-offset: calc(var(--ff-sticky-offset) + var(--ff-sticky-sidebar-gap));
	--ff-sticky-side-top: var(--ff-sticky-offset);
	--ff-match-tabs-height: 56px;
	--ff-anchor-scroll-gap: 18px;
	--ff-match-anchor-offset: calc(var(--ff-sticky-tab-top) + var(--ff-match-tabs-height) + var(--ff-anchor-scroll-gap));
	--ff-page-chrome-z-index: 58;
	--ff-layout-max-width: 1280px;
	--ff-layout-gap: 16px;
	--ff-layout-page-gutter: 16px;
	--ff-layout-page-gutter-sm: 10px;
	--ff-page-title-size: 12px;
	--ff-page-title-line-height: 1.45;
	--ff-radius-card: 14px;
	--ff-radius-scoreboard: 12px;
	--ff-radius-control: 8px;
	--ff-radius-compact: 6px;
	--ff-radius-pill: 999px;
}

html,
body {
	max-width: 100%;
}

body {
	overflow-x: clip;
}

@supports not (overflow: clip) {
	body {
		overflow-x: hidden;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.ff-page-chrome,
.ff-layout-shell,
.ff-home,
.ff-match-page,
.ff-entity,
.ff-league-season-page,
.ff-template-body {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
}

.match-page-h1,
.ff-page-title {
	color: var(--color-text-muted);
	font-size: var(--ff-page-title-size);
	font-weight: 650;
	letter-spacing: 0;
	line-height: var(--ff-page-title-line-height);
	margin: 0 auto;
	max-width: var(--ff-layout-max-width);
	padding: 0 var(--ff-layout-page-gutter);
}

.ff-page-chrome {
	margin: 0 auto 0;
	width: 100%;
}

.ff-page-chrome__inner {
	display: grid;
	gap: 8px;
	margin: 0 auto;
	max-width: var(--ff-layout-max-width);
	min-width: 0;
	padding: 8px var(--ff-layout-page-gutter) 0;
	width: 100%;
}

.ff-page-chrome__title {
	display: grid;
	gap: 4px;
	min-width: 0;
	width: 100%;
}

.ff-page-chrome__navigation {
	display: grid;
	min-width: 0;
	width: 100%;
}

.ff-page-chrome__breadcrumb {
	min-width: 0;
	width: 100%;
}

.ff-page-chrome .match-page-h1 {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	min-width: 0;
	overflow-wrap: anywhere;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.ff-page-title__subtitle {
	color: var(--color-text-muted);
	font-size: 13px;
	line-height: 1.65;
	margin: 0;
	max-width: 760px;
	min-width: 0;
	overflow-wrap: anywhere;
}

.ff-page-chrome__site-header {
	min-width: 0;
	width: 100%;
}

.ff-page-chrome .ff-site-header {
	min-width: 0;
	width: 100%;
}

.ff-page-chrome .ff-site-header__inner {
	max-width: none;
	min-height: 54px;
	min-width: 0;
	padding: 10px 12px;
	width: 100%;
}

.ff-page-chrome .ff-site-header__nav {
	right: 0;
}

.ff-site-header {
	background: #050914;
	border-bottom: 1px solid var(--color-border);
	border-top: 1px solid rgba(255, 255, 255, 0.04);
	position: relative;
	z-index: 50;
}

.ff-block-site-header {
	background: #050914;
	border-bottom: 1px solid var(--color-border);
	color: var(--color-text);
	margin: 0;
	width: 100%;
}

.ff-block-site-header > .wp-block-group {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: var(--ff-layout-max-width);
	padding-left: var(--ff-layout-page-gutter);
	padding-right: var(--ff-layout-page-gutter);
	width: 100%;
}

.ff-block-site-header .ff-block-site-header__inner {
	gap: 16px;
	padding-bottom: 14px !important;
	padding-top: 14px !important;
}

.ff-block-site-header .wp-block-site-title,
.ff-block-site-header .wp-block-site-title a {
	color: var(--color-text);
	font-size: 1rem;
	font-weight: 950;
	letter-spacing: 0;
	text-decoration: none;
}

.ff-block-site-header .wp-block-navigation {
	font-size: 0.84rem;
	font-weight: 850;
}

.ff-block-site-header .wp-block-navigation a {
	color: var(--color-text-muted);
	text-decoration: none;
}

.ff-block-site-header .wp-block-navigation a:hover,
.ff-block-site-header .wp-block-navigation a:focus-visible {
	color: var(--color-gold);
}

.ff-site-header__inner {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--ff-layout-max-width);
	min-width: 0;
	padding: 12px var(--ff-layout-page-gutter);
	position: relative;
	width: 100%;
}

.ff-site-logo {
	color: var(--color-text);
	font-size: 18px;
	font-weight: 950;
	letter-spacing: 0;
	white-space: nowrap;
}

.ff-site-logo:hover {
	color: var(--color-gold);
}

.ff-site-header__menu-button {
	align-items: center;
	background: var(--color-surface-2);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	color: var(--color-text);
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 4px;
	height: 38px;
	justify-content: center;
	padding: 0;
	width: 40px;
}

.ff-site-header__menu-button span {
	background: currentColor;
	border-radius: 999px;
	display: block;
	height: 2px;
	width: 18px;
}

.ff-site-header__menu-button:hover,
.ff-site-header__menu-button:focus-visible {
	border-color: rgba(212, 175, 55, 0.48);
	color: var(--color-gold);
}

.ff-site-header__nav {
	background: #050914;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
	display: grid;
	gap: 4px;
	min-width: 220px;
	padding: 8px;
	position: absolute;
	right: 16px;
	top: calc(100% + 8px);
	z-index: 60;
}

.ff-site-header__nav[hidden],
.country-nav__panel[hidden],
.ff-league-tree__panel[hidden] {
	display: none;
}

.ff-site-header__nav a {
	align-items: center;
	border-radius: 6px;
	color: var(--color-text-muted);
	display: flex;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.45;
	min-height: 38px;
	padding: 9px 10px;
	white-space: nowrap;
}

.ff-site-header__nav a:hover,
.ff-site-header__nav a:focus-visible {
	background: rgba(212, 175, 55, 0.12);
	color: var(--color-gold);
}

footer.wp-block-template-part {
	margin-top: 0;
}

.site-footer {
	background: #050914;
	border-top: 1px solid var(--color-border);
	color: var(--color-text-muted);
	font-size: 13px;
	line-height: 1.65;
}

.site-footer > .ff-site-footer__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--ff-layout-max-width);
	padding-left: var(--ff-layout-page-gutter);
	padding-right: var(--ff-layout-page-gutter);
	width: 100%;
}

.site-footer p,
.site-footer a,
.site-footer .wp-block-navigation-item__content {
	font-size: 13px;
	line-height: 1.65;
}

.site-footer a {
	color: var(--color-text-muted);
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: var(--color-gold);
}

.site-footer .wp-block-site-title,
.site-footer .wp-block-site-title a {
	color: var(--color-text);
	font-size: 14px;
	font-weight: 900;
	line-height: 1.45;
}

.ff-site-footer__inner {
	display: grid;
	gap: 10px;
	padding-bottom: 18px;
	padding-top: 18px;
}

.ff-site-footer__brand {
	color: var(--color-text);
	font-weight: 900;
	margin: 0;
}

.ff-site-footer__nav,
.site-footer nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
}

.ff-static-page {
	background: var(--color-bg);
	box-sizing: border-box;
	color: var(--color-text);
	margin: 0;
	padding: 0 var(--ff-layout-page-gutter) 56px;
	width: 100%;
}

.ff-static-page__inner {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 12px;
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.22);
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 860px;
	padding: clamp(20px, 3vw, 34px);
	width: 100%;
}

.ff-static-page h1 {
	color: var(--color-text);
	font-size: clamp(1.45rem, 2.4vw, 2.05rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 18px;
}

.ff-static-page .wp-block-post-content {
	color: var(--color-text);
	font-size: 0.9rem;
	line-height: 1.8;
}

.ff-static-page .alignfull,
.ff-static-page .alignwide {
	margin-left: 0;
	margin-right: 0;
	max-width: 100%;
}

.ff-static-page .wp-block-post-content > * {
	margin-bottom: 1em;
}

.ff-static-page .wp-block-post-content h2 {
	color: var(--color-text);
	font-size: 1rem;
	font-weight: 950;
	line-height: 1.4;
	margin: 1.65em 0 0.75em;
}

.ff-static-page .wp-block-post-content a {
	color: var(--color-gold);
}

.ff-static-page .wp-block-post-content ul,
.ff-static-page .wp-block-post-content ol {
	padding-left: 1.25em;
}

.ff-section-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
	overflow: hidden;
}

.ff-section-head {
	border-bottom: 1px solid var(--color-border);
	margin: 0 0 18px;
	padding-bottom: 14px;
}

.ff-section-head h2,
.ff-section-head h3 {
	color: var(--color-text);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0;
}

.ff-meta-text {
	color: var(--color-text-muted);
	font-size: 13px;
	line-height: 1.65;
}

.ff-empty-state {
	background: rgba(255, 255, 255, 0.035);
	border: 1px dashed rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	color: var(--color-text-muted);
	line-height: 1.65;
	margin: 0;
	padding: 12px;
}

.ff-pill,
.ff-badge {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	color: var(--color-text-muted);
	display: inline-flex;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
	min-height: 24px;
	padding: 4px 8px;
}

.ff-table-wrap {
	max-width: 100%;
	overflow-x: auto;
}

.ff-ad-placeholder {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: rgba(255, 255, 255, 0.035);
	border: 1px dashed rgba(255, 255, 255, 0.18);
	border-radius: 12px;
	box-sizing: border-box;
	color: var(--color-text-muted);
	display: flex;
	font-size: 0.84rem;
	font-weight: 850;
	justify-content: center;
	max-width: 100%;
	min-height: 180px;
	min-width: 0;
	padding: 16px;
	text-align: center;
	width: 100%;
}

.ff-right-sidebar--ads {
	align-content: start;
}

.ff-ad-placeholder--sidebar {
	aspect-ratio: auto;
	min-height: 280px;
}

.ff-match-row-list {
	display: grid;
	gap: 0;
}

.ff-match-list-group__header {
	align-items: center;
	background: #0b111d;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: var(--color-text);
	display: grid;
	font-size: 0.82rem;
	font-weight: 600;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	min-height: 38px;
	padding: 7px 12px;
	width: 100%;
}

.ff-match-list-group__league,
.ff-match-list-group__date,
.ff-match-list-group__count {
	min-width: 0;
	white-space: nowrap;
}

.ff-match-list-group__league {
	justify-self: start;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ff-match-list-group__date {
	color: var(--color-text-muted);
	font-size: 0.76rem;
	justify-self: center;
}

.ff-match-list-group__count {
	color: var(--color-text-muted);
	font-size: 0.72rem;
	font-weight: 600;
	justify-self: end;
}

.ff-match-row-list .ff-home-match-row {
	align-items: center;
	background: #0b111d;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	color: var(--color-text);
	display: grid;
	font-size: 0.86rem;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) 38px 88px 38px minmax(0, 1fr) 18px;
	line-height: 1.35;
	min-height: 40px;
	padding: 6px 10px 6px 12px;
	text-decoration: none;
	transition: background 140ms ease, color 140ms ease;
	width: 100%;
}

.ff-match-row-list .ff-home-match-row--with-context {
	grid-template-columns: minmax(112px, 0.82fr) minmax(0, 1fr) 38px 88px 38px minmax(0, 1fr) 18px;
}

.ff-match-row-list a.ff-home-match-row:hover,
.ff-match-row-list a.ff-home-match-row:focus-visible {
	background: rgba(212, 175, 55, 0.1);
	color: var(--color-text);
	outline: 2px solid rgba(212, 175, 55, 0.55);
	outline-offset: -2px;
}

.ff-match-row-list .ff-home-match-row__context,
.ff-match-row-list .ff-home-match-row__team,
.ff-match-row-list .ff-home-match-row__status {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ff-match-row-list .ff-home-match-row__context {
	color: var(--color-text-muted);
	font-size: 0.72rem;
	font-weight: 600;
}

.ff-match-row-list .ff-home-match-row__team {
	font-weight: 600;
}

.ff-match-row-list .ff-home-match-row__team--home {
	text-align: right;
}

.ff-match-row-list .ff-home-match-row__team--away {
	text-align: left;
}

.ff-match-row-list .ff-home-match-row__score {
	background: rgba(255, 255, 255, 0.04);
	border-radius: 6px;
	font-variant-numeric: tabular-nums;
	font-weight: 850;
	min-width: 0;
	padding: 4px 2px;
	text-align: center;
}

.ff-match-row-list .ff-home-match-row__status {
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	color: var(--color-text-muted);
	font-size: 0.72rem;
	font-weight: 800;
	overflow: hidden;
	padding: 4px 7px;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ff-match-row-list .ff-home-match-row--live .ff-home-match-row__status {
	background: rgba(255, 77, 109, 0.14);
	border-color: rgba(255, 77, 109, 0.5);
	color: #ffc4cf;
}

.ff-match-row-list .ff-home-match-row--finished .ff-home-match-row__status {
	background: rgba(148, 163, 184, 0.12);
	border-color: rgba(148, 163, 184, 0.32);
	color: var(--color-text);
}

.ff-match-row-list .ff-home-match-row--scheduled .ff-home-match-row__status {
	color: var(--color-gold);
}

.ff-match-row-list .ff-home-match-row__open {
	color: var(--color-text-muted);
	font-size: 0.88rem;
	font-weight: 700;
	text-align: right;
}

.ff-standings-section {
	min-width: 0;
	padding: 16px;
}

.ff-league-standings__header {
	display: grid;
	gap: 4px;
	margin-bottom: 12px;
}

.ff-league-standings__title {
	color: var(--color-text);
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.2;
	margin: 0;
}

.ff-league-standings__header p {
	color: var(--color-text-muted);
	font-size: 0.84rem;
	line-height: 1.55;
	margin: 0;
}

.ff-league-standings__updated {
	display: inline-block;
	margin-left: 8px;
}

.ff-league-standings__scroll {
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
	overflow-x: auto;
}

.ff-league-standings__table {
	border-collapse: collapse;
	min-width: 760px;
	width: 100%;
}

.ff-league-standings__table th,
.ff-league-standings__table td {
	border-bottom: 1px solid var(--color-border);
	color: var(--color-text-muted);
	font-size: 13px;
	padding: 9px 7px;
	text-align: center;
	white-space: nowrap;
}

.ff-league-standings__table th {
	color: var(--color-text);
	font-size: 12px;
	font-weight: 850;
}

.ff-league-standings__team {
	color: var(--color-text) !important;
	font-weight: 850;
	min-width: 180px;
	text-align: left !important;
}

.ff-league-standings__rank,
.ff-league-standings__rank-heading {
	background: #0b111d;
	left: 0;
	min-width: 70px;
	position: sticky;
	z-index: 3;
}

.ff-league-standings__team,
.ff-league-standings__team-heading {
	background: #0b111d;
	left: 70px;
	position: sticky;
	z-index: 3;
}

.ff-league-standings__table thead .ff-league-standings__rank-heading,
.ff-league-standings__table thead .ff-league-standings__team-heading {
	z-index: 5;
}

.ff-league-standings__team-inner {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	min-width: 0;
	width: 100%;
}

.ff-league-standings__team-main,
.ff-league-standings__team-link,
.ff-league-standings__team-main > span {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ff-league-standings__table .is-current-match-team > .ff-league-standings__rank,
.ff-league-standings__table .is-current-match-team > .ff-league-standings__team {
	background: linear-gradient(rgba(212, 175, 55, 0.08), rgba(212, 175, 55, 0.08)), #0b111d;
}

.ff-league-standings__table .is-current-match-team {
	background: rgba(212, 175, 55, 0.08);
}

.ff-league-standings__table .is-home-team {
	box-shadow: inset 3px 0 0 var(--color-home);
}

.ff-league-standings__table .is-away-team {
	box-shadow: inset 3px 0 0 var(--color-away);
}

.ff-league-standings__points {
	color: var(--color-gold) !important;
	font-weight: 900;
}

.ff-league-standings__badge {
	align-items: center;
	background: rgba(212, 175, 55, 0.14);
	border: 1px solid rgba(212, 175, 55, 0.42);
	border-radius: 999px;
	color: var(--color-gold);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 10px;
	font-weight: 900;
	justify-content: center;
	line-height: 1;
	margin-left: auto;
	min-width: 30px;
	padding: 4px 6px;
	vertical-align: middle;
}

.ff-league-standings__team-link {
	color: inherit;
	text-decoration: none;
	text-underline-offset: 0.16em;
	transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.ff-league-standings__team-link:hover,
.ff-league-standings__team-link:focus-visible {
	color: var(--color-gold);
	text-decoration: underline;
}

.ff-league-standings__form {
	display: inline-flex;
	gap: 4px;
}

.ff-form {
	align-items: center;
	border-radius: var(--ff-radius-compact);
	color: #06100b;
	display: inline-flex;
	font-size: 11px;
	font-weight: 900;
	height: 22px;
	justify-content: center;
	min-width: 22px;
	padding: 0 6px;
}

.ff-form--w {
	background: var(--color-win);
}

.ff-form--d {
	background: var(--color-draw);
}

.ff-form--l {
	background: var(--color-loss);
	color: var(--color-text);
}

.ff-form--unknown {
	background: rgba(255, 255, 255, 0.08);
	color: var(--color-text-muted);
}

.ff-standings-empty {
	background: var(--color-surface-2);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	color: var(--color-text-muted);
	display: grid;
	gap: 8px;
	padding: 16px;
}

.ff-standings-empty strong {
	color: var(--color-text);
	font-size: 15px;
	font-weight: 850;
}

.ff-standings-empty p {
	font-size: 13px;
	line-height: 1.7;
	margin: 0;
}

.ff-layout-shell {
	display: flex;
	flex-direction: column;
	gap: var(--ff-layout-gap);
	margin: 0 auto;
	max-width: var(--ff-layout-max-width);
	padding: 0 var(--ff-layout-page-gutter) 56px;
	width: 100%;
}

.ff-layout-main,
.ff-layout-sidebar {
	min-width: 0;
}

.ff-layout-main {
	display: grid;
	gap: 16px;
	order: 1;
}

.ff-layout-sidebar {
	align-self: stretch;
	display: grid;
	gap: 14px;
	order: 2;
}

.ff-layout-sidebar--right {
	order: 3;
}

.left-league-nav {
	align-self: start;
	display: block;
	margin-bottom: 14px;
	position: static;
}

.ff-league-nav {
	background: #050914;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 14px;
}

.ff-league-tree,
.ff-league-tree__leagues,
.ff-league-tree__rounds {
	display: grid;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ff-league-tree__country-label {
	color: var(--color-text);
	font-size: 13px;
	font-weight: 900;
	margin-bottom: 10px;
}

.ff-league-tree__league-button,
.ff-league-tree__quick-links a,
.ff-league-tree__season a,
.ff-league-tree__season span,
.ff-league-tree__round {
	background: transparent;
	border: 0;
	border-radius: 8px;
	color: var(--color-text-muted);
	display: block;
	font-size: 13px;
	font-weight: 750;
	padding: 9px 10px;
	text-align: left;
	width: 100%;
}

.ff-league-tree__league-button {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
}

.ff-league-tree__league.is-active > .ff-league-tree__league-button,
.ff-league-tree__league-button:hover,
.ff-league-tree__league-button:focus-visible,
.ff-league-tree__quick-links a:hover,
.ff-league-tree__quick-links a:focus-visible,
.ff-league-tree__season a:hover,
.ff-league-tree__season a:focus-visible,
.ff-league-tree__round.is-active {
	background: rgba(212, 175, 55, 0.12);
	color: var(--color-gold);
}

.ff-league-tree__chevron {
	color: inherit;
	font-size: 10px;
	line-height: 1;
	transition: transform 0.18s ease;
}

.ff-league-tree__league-button[aria-expanded="true"] .ff-league-tree__chevron {
	transform: rotate(180deg);
}

.ff-league-tree__panel {
	display: grid;
	gap: 8px;
	padding: 4px 0 10px 8px;
}

.ff-league-tree__quick-links,
.ff-league-tree__season {
	display: grid;
	gap: 6px;
}

.ff-league-tree__rounds {
	border-left: 1px solid var(--color-border);
	max-height: 300px;
	overflow: auto;
	overscroll-behavior: auto;
	padding-left: 8px;
	scrollbar-width: thin;
}

.ff-league-tree__round {
	cursor: default;
	font-size: 12px;
	padding: 7px 9px;
}

a.ff-league-tree__round {
	cursor: pointer;
	text-decoration: none;
}

.ff-league-tree__round.has-matches:not(.is-active) {
	color: var(--color-text);
}

a.ff-league-tree__round:hover,
a.ff-league-tree__round:focus-visible {
	background: rgba(212, 175, 55, 0.1);
	color: var(--color-gold);
	outline: 1px solid rgba(212, 175, 55, 0.45);
	outline-offset: -1px;
}

.ff-league-tree__round[aria-disabled="true"] {
	opacity: 0.56;
}

/* Shared UI module bases used by the static catalog and future template-parts. */
.ff-card,
.ff-sidebar-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--ff-radius-card);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
	color: var(--color-text);
	min-width: 0;
	overflow: hidden;
}

.ff-card {
	padding: 20px;
}

.ff-section-head p {
	color: var(--color-text-muted);
	font-size: 13px;
	line-height: 1.7;
	margin: 8px 0 0;
}

.ff-match-breadcrumb {
	align-items: center;
	color: var(--color-text-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 750;
	gap: 6px;
	min-width: 0;
}

.ff-page-chrome__breadcrumb .ff-match-breadcrumb {
	background: #050914;
	margin: 0;
	overflow-x: auto;
	padding: 0 0 10px;
	scrollbar-width: thin;
	width: 100%;
}

.ff-page-chrome__breadcrumb .ff-match-breadcrumb > * {
	flex: 0 0 auto;
}

.ff-page-chrome__breadcrumb .ff-match-breadcrumb a,
.ff-page-chrome__breadcrumb .ff-match-breadcrumb span:not([aria-hidden="true"]) {
	background: var(--color-surface-2);
	border: 1px solid var(--color-border);
	border-radius: var(--ff-radius-pill);
	padding: 5px 9px;
}

.ff-page-chrome__breadcrumb .ff-match-breadcrumb a {
	color: var(--color-text-muted);
	font-weight: 800;
}

.ff-page-chrome__breadcrumb .ff-match-breadcrumb [aria-hidden="true"] {
	color: var(--color-text-muted);
	font-weight: 900;
}

.ff-match-breadcrumb a {
	color: var(--color-text);
	text-decoration: none;
}

.ff-match-breadcrumb a:hover,
.ff-match-breadcrumb a:focus-visible {
	color: var(--color-gold);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.ff-match-breadcrumb [aria-current="page"] {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ff-card .ff-section-head h2,
.ff-card .ff-section-head h3,
.ff-sidebar-card h3 {
	font-size: clamp(16px, 2vw, 22px);
}

.ff-sidebar-card {
	padding: 14px;
}

.ff-sidebar-card h3 {
	line-height: 1.35;
	margin: 0 0 12px;
}

.ff-status-badge,
.ff-state-badge {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--ff-radius-pill);
	color: var(--color-text-muted);
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	min-height: 24px;
	padding: 4px 8px;
	white-space: nowrap;
}

.ff-status-badge--live,
.ff-state-badge--error {
	background: rgba(239, 68, 68, 0.14);
	border-color: rgba(239, 68, 68, 0.42);
	color: #ffc4cf;
}

.ff-status-badge--finished,
.ff-state-badge--disabled {
	background: rgba(148, 163, 184, 0.12);
	border-color: rgba(148, 163, 184, 0.32);
	color: var(--color-text);
}

.ff-status-badge--scheduled,
.ff-state-badge--success {
	background: rgba(34, 197, 94, 0.12);
	border-color: rgba(34, 197, 94, 0.34);
	color: #baf7ca;
}

.ff-status-badge--postponed,
.ff-state-badge--warning {
	background: rgba(245, 158, 11, 0.12);
	border-color: rgba(245, 158, 11, 0.34);
	color: #fed7aa;
}

.ff-button {
	align-items: center;
	background: rgba(212, 175, 55, 0.16);
	border: 1px solid rgba(212, 175, 55, 0.45);
	border-radius: 8px;
	color: var(--color-gold);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 13px;
	font-weight: 850;
	justify-content: center;
	min-height: 38px;
	padding: 9px 12px;
	text-decoration: none;
}

.ff-button:hover,
.ff-button:focus-visible {
	background: rgba(212, 175, 55, 0.24);
	outline: 2px solid rgba(212, 175, 55, 0.55);
	outline-offset: 2px;
}

.ff-button[disabled],
.ff-button[aria-disabled="true"] {
	cursor: default;
	opacity: 0.52;
}

.ff-button--secondary {
	background: var(--color-surface-2);
	border-color: var(--color-border);
	color: var(--color-text-muted);
}

.ff-state-card {
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	color: var(--color-text-muted);
	display: grid;
	gap: 6px;
	padding: 12px;
}

.ff-state-card strong {
	color: var(--color-text);
	font-size: 14px;
	font-weight: 850;
}

.ff-state-card p {
	font-size: 13px;
	line-height: 1.65;
	margin: 0;
}

.ff-state-card--error {
	background: rgba(239, 68, 68, 0.1);
	border-color: rgba(239, 68, 68, 0.28);
}

.ff-state-card--success {
	background: rgba(34, 197, 94, 0.1);
	border-color: rgba(34, 197, 94, 0.28);
}

.ff-entity-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
	color: var(--color-text);
	min-width: 0;
	overflow: hidden;
}

.ff-entity-hero {
	display: grid;
	gap: 16px;
	padding: 18px;
}

.ff-entity-hero__content,
.ff-entity-hero__actions {
	display: grid;
	gap: 10px;
	min-width: 0;
}

.ff-entity-hero__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
}

.ff-entity-eyebrow {
	color: var(--color-gold);
	font-size: 12px;
	font-weight: 900;
	margin: 0;
	text-transform: uppercase;
}

.ff-entity-hero h2 {
	color: var(--color-text);
	font-size: clamp(22px, 3vw, 32px);
	line-height: 1.2;
	margin: 0;
}

.ff-entity-hero p {
	color: var(--color-text-muted);
	font-size: 13px;
	line-height: 1.65;
	margin: 0;
}

.ff-entity-stat-grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.ff-entity-stat {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	display: grid;
	gap: 4px;
	padding: 10px 12px;
}

.ff-entity-stat span {
	color: var(--color-text-muted);
	font-size: 12px;
	font-weight: 800;
}

.ff-entity-stat strong {
	color: var(--color-text);
	font-size: 15px;
}

.country-nav,
.ff-home-date-nav,
.ff-home-tabs {
	min-width: 0;
}

.country-nav__inner,
.ff-home-date-nav,
.ff-home-tabs {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.country-nav__button,
.ff-home-date-nav__button,
.ff-home-date-nav__today,
.ff-home-tabs a,
.ff-home-tabs .is-disabled,
.country-nav__league-list a,
.country-nav__league-list .is-disabled {
	align-items: center;
	background: var(--color-surface-2);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	color: var(--color-text-muted);
	display: inline-flex;
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	gap: 6px;
	min-height: 34px;
	padding: 7px 11px;
	text-decoration: none;
	white-space: nowrap;
}

.country-nav__button,
.ff-home-date-nav__button {
	cursor: pointer;
}

.country-nav__button[aria-expanded="true"],
.ff-home-tabs a.is-active,
.ff-home-tabs a:hover,
.ff-home-tabs a:focus-visible,
.country-nav__league-list a.is-active,
.country-nav__league-list a:hover,
.country-nav__league-list a:focus-visible,
.ff-home-date-nav__today:hover,
.ff-home-date-nav__today:focus-visible {
	background: rgba(212, 175, 55, 0.12);
	border-color: rgba(212, 175, 55, 0.45);
	color: var(--color-gold);
	outline: 0;
}

.ff-home-date-nav__current {
	color: var(--color-text);
	font-size: 13px;
	font-weight: 850;
	white-space: nowrap;
}

.ff-home-date-nav__today.is-disabled,
.ff-home-tabs .is-disabled,
.country-nav__league-list .is-disabled {
	cursor: default;
	opacity: 0.52;
}

.country-nav__panel {
	background: rgba(11, 17, 29, 0.98);
	border: 1px solid var(--color-border);
	border-radius: 12px;
	margin-top: 8px;
	min-width: min(100%, 520px);
	padding: 12px;
}

.country-nav__panel-inner {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.country-nav__country {
	color: var(--color-gold);
	font-size: 12px;
	font-weight: 900;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.country-nav__league-list,
.ff-link-list,
.ff-sidebar-list {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ff-table-scroll {
	max-width: 100%;
	overflow-x: auto;
}

.ff-data-table {
	border-collapse: collapse;
	color: var(--color-text);
	font-size: 13px;
	min-width: 640px;
	width: 100%;
}

.ff-data-table--compact {
	min-width: 520px;
}

.ff-mini-table {
	border-collapse: collapse;
	color: var(--color-text);
	font-size: 12px;
	width: 100%;
}

.ff-data-table th,
.ff-data-table td,
.ff-mini-table th,
.ff-mini-table td {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 9px 10px;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

.ff-data-table th,
.ff-mini-table th {
	color: var(--color-text-muted);
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.ff-mini-table .is-current-team,
.ff-mini-table tr.is-current-team {
	background: rgba(212, 175, 55, 0.12);
}

.ff-data-table a,
.ff-link-list a,
.ff-sidebar-list a,
.ff-lineup-coach a {
	color: var(--color-text);
	text-decoration: none;
}

.ff-data-table a:hover,
.ff-data-table a:focus-visible,
.ff-link-list a:hover,
.ff-link-list a:focus-visible,
.ff-sidebar-list a:hover,
.ff-sidebar-list a:focus-visible,
.ff-lineup-coach a:hover,
.ff-lineup-coach a:focus-visible {
	color: var(--color-gold);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.ff-split-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ff-split-panel,
.ff-recent-summary {
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	min-width: 0;
	padding: 12px;
}

.ff-split-panel h3,
.ff-lineup-section h4 {
	color: var(--color-text);
	font-size: 14px;
	margin: 0 0 10px;
}

.ff-recent-summary {
	display: grid;
	gap: 8px;
	margin-bottom: 14px;
}

.ff-recent-summary__row {
	align-items: center;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) minmax(90px, auto) minmax(0, 1fr);
}

.ff-recent-summary__row strong {
	color: var(--color-text);
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
}

.ff-recent-summary__row strong:last-child {
	justify-content: flex-end;
}

.ff-link-list a,
.ff-sidebar-list a {
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	display: grid;
	gap: 3px;
	padding: 10px 12px;
}

.ff-link-list span,
.ff-sidebar-list span {
	font-size: 13px;
	font-weight: 850;
}

.ff-link-list small,
.ff-sidebar-list small {
	color: var(--color-text-muted);
	font-size: 12px;
}

.ff-right-sidebar,
.ff-page-section,
.ff-player-profile,
.ff-player-stats,
.ff-player-match-list {
	display: grid;
	gap: 14px;
	min-width: 0;
}

.ff-page-section {
	scroll-margin-top: calc(var(--ff-sticky-side-top) + 16px);
}

.ff-page-section--ad {
	margin: 2px 0;
}

.ff-page-section--seo {
	margin-top: 6px;
}

.ff-player-profile__meta {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.ff-player-hero {
	border-color: rgba(212, 175, 55, 0.22);
}

.ff-match-scoreboard {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--ff-radius-scoreboard);
	display: grid;
	gap: 18px;
	min-width: 0;
	padding: 20px;
}

.ff-match-scoreboard__top,
.ff-match-scoreboard__details {
	align-items: center;
	color: var(--color-text-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	gap: 8px;
}

.ff-match-scoreboard__competition {
	color: var(--color-gold);
	font-weight: 900;
}

.ff-match-scoreboard__date {
	color: var(--color-text);
	font-size: 13px;
	font-weight: 850;
	text-align: center;
}

.ff-match-score {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) minmax(96px, auto) minmax(0, 1fr);
	min-width: 0;
}

.ff-match-score__side,
.ff-match-score__team-block,
.ff-match-score__team {
	min-width: 0;
}

.ff-match-score__side--home {
	text-align: right;
}

.ff-match-score__side--away {
	text-align: left;
}

.ff-match-score__team {
	color: var(--color-text);
	font-size: clamp(18px, 3vw, 30px);
	font-weight: 900;
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.ff-match-score__team-link {
	color: inherit;
	text-decoration: none;
}

.ff-match-score__team-link:hover,
.ff-match-score__team-link:focus-visible {
	color: var(--color-gold);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.ff-match-score__center {
	text-align: center;
}

.ff-match-score__numbers {
	align-items: center;
	color: var(--color-text);
	display: flex;
	font-size: clamp(42px, 6vw, 72px);
	font-weight: 900;
	gap: 12px;
	justify-content: center;
	line-height: 1;
	white-space: nowrap;
}

.ff-match-score__sep {
	color: var(--color-text-muted);
	font-weight: 600;
}

.ff-match-score__versus {
	color: var(--color-text);
	font-size: clamp(32px, 5vw, 56px);
	font-weight: 950;
	line-height: 1;
	white-space: nowrap;
}

.ff-match-scoreboard__meta-row {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) minmax(112px, auto) minmax(0, 1fr);
}

.ff-match-scoreboard__standing,
.ff-match-scoreboard__status-text {
	color: var(--color-text-muted);
	font-size: 13px;
	font-weight: 850;
	min-width: 0;
}

.ff-match-scoreboard__standing--home {
	text-align: right;
}

.ff-match-scoreboard__standing--away {
	text-align: left;
}

.ff-match-scoreboard__status-text {
	color: var(--color-text);
	text-align: center;
}

.ff-match-tabs {
	background: rgba(5, 9, 20, 0.96);
	max-width: 100%;
	overflow-x: auto;
	scrollbar-width: none;
}

.ff-match-tabs::-webkit-scrollbar,
.ff-match-tabs__inner::-webkit-scrollbar,
.ff-stats-tabs::-webkit-scrollbar {
	display: none;
}

.ff-match-tabs__inner,
.ff-stats-tabs {
	display: flex;
	gap: 8px;
	max-width: 100%;
	overflow-x: auto;
	scrollbar-width: none;
}

.ff-match-tabs__inner {
	margin: 0 auto;
	padding: 10px 0;
}

.ff-match-tabs__link,
.ff-stats-tabs button {
	background: var(--color-surface-2);
	border: 1px solid var(--color-border);
	border-radius: var(--ff-radius-pill);
	color: var(--color-text-muted);
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 800;
	padding: 9px 13px;
	text-decoration: none;
	white-space: nowrap;
}

.ff-stats-tabs {
	margin-bottom: 12px;
}

.ff-stats-tabs button {
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	padding: 7px 13px;
}

.ff-match-tabs__link.is-active,
.ff-match-tabs__link:hover,
.ff-match-tabs__link:focus-visible,
.ff-stats-tabs button.is-active,
.ff-stats-tabs button:hover,
.ff-stats-tabs button:focus-visible {
	background: rgba(212, 175, 55, 0.12);
	border-color: rgba(212, 175, 55, 0.45);
	color: var(--color-gold);
	outline: 0;
}

.ff-stats-panel[hidden] {
	display: none;
}

.ff-quick-stats__teams,
.ff-stat-meta {
	align-items: center;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) minmax(86px, 140px) minmax(0, 1fr);
}

.ff-quick-stats__teams {
	color: var(--color-text-muted);
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 10px;
}

.ff-quick-stats__teams span:nth-child(2),
.ff-stat-label {
	text-align: center;
}

.ff-quick-stats__teams span:last-child,
.ff-stat-value--away {
	text-align: right;
}

.ff-stat-groups,
.ff-stat-rows {
	display: grid;
	gap: 0;
}

.ff-stat-group {
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	padding-top: 14px;
}

.ff-stat-group:first-child {
	border-top: 0;
	padding-top: 0;
}

.ff-stat-group h3 {
	color: var(--color-text);
	font-size: 14px;
	font-weight: 900;
	margin: 0 0 8px;
}

.ff-stat-row {
	border-bottom: 1px solid rgba(255, 255, 255, 0.04);
	padding: 10px 0;
}

.ff-stat-row:last-child {
	border-bottom: 0;
}

.ff-stat-value,
.ff-stat-label {
	color: var(--color-text);
	font-size: 13px;
	font-weight: 850;
	line-height: 1.35;
	min-width: 0;
}

.ff-stat-value {
	font-variant-numeric: tabular-nums;
}

.ff-stat-bars {
	display: grid;
	gap: 4px;
	grid-template-columns: 1fr 1fr;
	margin-top: 6px;
}

.ff-stat-bar {
	background: rgba(255, 255, 255, 0.08);
	height: 8px;
	overflow: hidden;
}

.ff-stat-bar--home {
	border-radius: 999px 0 0 999px;
}

.ff-stat-bar--away {
	border-radius: 0 999px 999px 0;
}

.ff-stat-bar span {
	display: block;
	height: 100%;
}

.ff-stat-bar--home span {
	background: var(--color-home);
	margin-left: auto;
}

.ff-stat-bar--away span {
	background: var(--color-away);
}

.ff-empty-panel {
	background: var(--color-surface-2);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 14px;
}

.ff-empty-panel p {
	color: var(--color-text-muted);
	font-size: 12px;
	line-height: 1.65;
	margin: 0;
}

.ff-event-timeline__body,
.ff-lineup-blocks,
.ff-lineup-section,
.ff-ai-review__body {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.ff-event-period {
	align-items: center;
	background: rgba(12, 74, 86, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 8px;
	color: var(--color-text);
	display: flex;
	font-size: 13px;
	font-weight: 900;
	justify-content: space-between;
	padding: 9px 12px;
}

.ff-event-period__score,
.ff-event-minute,
.ff-event-label,
.ff-ai-review__block h3 {
	color: var(--color-gold);
}

.ff-event-row {
	display: flex;
	min-width: 0;
	width: 100%;
}

.ff-event-row--away {
	justify-content: flex-end;
	text-align: right;
}

.ff-event-row--neutral {
	justify-content: center;
	text-align: center;
}

.ff-event-cell {
	align-items: center;
	color: #e5f3f6;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}

.ff-event-icon {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 999px;
	display: inline-flex;
	font-size: 14px;
	height: 26px;
	justify-content: center;
	min-width: 26px;
	padding: 0 5px;
}

.ff-event-icon::before {
	content: attr(data-event-icon);
}

.ff-event-minute,
.ff-event-player,
.ff-event-detail {
	font-size: 13px;
	font-weight: 750;
}

.ff-event-detail {
	color: var(--color-text-muted);
}

.ff-lineup-compare,
.ff-ai-review__grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ff-lineup-team__head {
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 12px;
	padding-bottom: 10px;
}

.ff-lineup-team__side {
	color: var(--color-gold);
	display: block;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.ff-lineup-team__head h3,
.ff-lineup-team__head h4 {
	color: var(--color-text);
	font-size: 15px;
	margin: 4px 0 0;
}

.ff-lineup-team__meta,
.ff-lineup-coach {
	align-items: center;
	color: var(--color-text-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	gap: 8px;
	margin: 8px 0 0;
}

.ff-lineup-section {
	margin-top: 12px;
}

.ff-lineup-coach {
	border-top: 1px solid var(--color-border);
	padding-top: 10px;
}

.ff-lineup-coach strong {
	color: var(--color-gold);
	font-size: 11px;
	text-transform: uppercase;
}

.ff-player-list {
	display: grid;
	gap: 7px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ff-player-list__item {
	align-items: center;
	background: #0b111d;
	border: 1px solid var(--color-border);
	border-radius: 6px;
	display: grid;
	gap: 8px;
	grid-template-columns: 42px minmax(0, 1fr) 38px;
	min-height: 38px;
	padding: 7px 8px;
}

.ff-player-list__num {
	color: var(--color-gold);
	font-size: 12px;
	font-weight: 900;
}

.ff-player-list__name {
	color: var(--color-text);
	font-size: 13px;
	font-weight: 750;
	overflow-wrap: anywhere;
	text-decoration: none;
}

a.ff-player-list__name:hover,
a.ff-player-list__name:focus-visible {
	color: var(--color-gold);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.ff-player-list__pos {
	color: var(--color-text-muted);
	font-size: 12px;
	text-align: right;
}

.ff-ai-review__body,
.ff-ai-review__block,
.ff-ai-review__note,
.ff-seo-content {
	color: var(--color-text-muted);
	font-size: 14px;
	line-height: 1.75;
}

.ff-ai-review__body p,
.ff-ai-review__note p,
.ff-seo-content p {
	margin: 0 0 10px;
}

.ff-ai-review__block,
.ff-ai-review__note {
	border-top: 1px solid var(--color-border);
	padding-top: 12px;
}

.ff-ai-review__block ul {
	display: grid;
	gap: 7px;
	margin: 0;
	padding-left: 1.2em;
}

.ff-ai-review__disclaimer {
	background: rgba(255, 255, 255, 0.04);
	border-left: 3px solid var(--color-gold);
	color: var(--color-text-muted);
	font-size: 12px;
	line-height: 1.7;
	margin-top: 14px;
	padding: 10px 12px;
}

.ff-stat-guide {
	display: grid;
	gap: 12px;
	padding: 14px;
}

.ff-stat-guide .ff-section-head {
	gap: 4px;
	margin-bottom: 0;
}

.ff-stat-guide .ff-section-head h2 {
	font-size: 0.96rem;
	line-height: 1.25;
}

.ff-stat-guide .ff-section-head p {
	font-size: 0.78rem;
	line-height: 1.55;
}

.ff-stat-guide__list {
	display: grid;
	gap: 8px;
	margin: 0;
}

.ff-stat-guide__item {
	background: var(--color-surface-2);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	display: grid;
	gap: 4px;
	padding: 9px 11px;
}

.ff-stat-guide__item dt {
	color: var(--color-text);
	font-size: 12.5px;
	font-weight: 850;
	line-height: 1.35;
}

.ff-stat-guide__item dd {
	color: var(--color-text-muted);
	font-size: 12.5px;
	line-height: 1.58;
	margin: 0;
}

.ff-seo-content h2,
.ff-seo-content h3 {
	color: var(--color-text);
	line-height: 1.35;
	margin: 1.2em 0 0.5em;
}

.ff-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.ff-pagination a,
.ff-pagination span {
	align-items: center;
	background: var(--color-surface-2);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	color: var(--color-text-muted);
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	justify-content: center;
	min-height: 34px;
	min-width: 34px;
	padding: 7px 10px;
	text-decoration: none;
}

.ff-pagination .is-current,
.ff-pagination a:hover,
.ff-pagination a:focus-visible {
	border-color: rgba(212, 175, 55, 0.45);
	color: var(--color-gold);
}

/* Static catalog layout. Keep these classes out of production templates. */
.ff-template-body {
	background: var(--color-bg);
	color: var(--color-text);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0;
}

.ff-template-catalog {
	display: grid;
	gap: 20px;
	margin: 0 auto;
	max-width: var(--ff-layout-max-width);
	padding: 24px var(--ff-layout-page-gutter) 64px;
}

.ff-template-hero {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 14px;
	display: grid;
	gap: 8px;
	padding: 20px;
}

.ff-template-eyebrow,
.ff-template-meta {
	color: var(--color-text-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ff-template-hero h1,
.ff-template-section__title {
	color: var(--color-text);
	line-height: 1.25;
	margin: 0;
}

.ff-template-hero h1 {
	font-size: clamp(24px, 4vw, 38px);
}

.ff-template-hero p {
	color: var(--color-text-muted);
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
	max-width: 820px;
}

.ff-template-section {
	display: grid;
	gap: 14px;
	min-width: 0;
}

.ff-template-section__header {
	display: grid;
	gap: 6px;
}

.ff-template-section__title {
	font-size: 18px;
}

.ff-template-section__description {
	color: var(--color-text-muted);
	font-size: 13px;
	line-height: 1.65;
	margin: 0;
}

.ff-template-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ff-template-stack {
	display: grid;
	gap: 14px;
	min-width: 0;
}

.ff-template-demo {
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	display: grid;
	gap: 12px;
	min-width: 0;
	padding: 14px;
}

.ff-template-demo--narrow {
	margin-inline: auto;
	max-width: 390px;
	width: 100%;
}

.ff-template-page-sample {
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	display: grid;
	gap: 0;
	min-width: 0;
	overflow: hidden;
}

.ff-template-page-sample .ff-page-chrome {
	position: static;
}

.ff-template-page-sample .ff-layout-shell {
	padding-bottom: 18px;
	padding-top: 18px;
}

.ff-template-page-sample .ff-layout-main {
	display: grid;
	gap: 14px;
	min-width: 0;
}

.ff-template-page-sample .ff-match-breadcrumb {
	margin-bottom: 0;
}

.ff-template-note {
	background: rgba(212, 175, 55, 0.08);
	border: 1px solid rgba(212, 175, 55, 0.2);
	border-radius: 8px;
	color: var(--color-text-muted);
	font-size: 12px;
	line-height: 1.65;
	padding: 10px 12px;
}

.ff-template-catalog-note,
.ff-template-module-preview {
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	display: grid;
	gap: 10px;
	min-width: 0;
	padding: 14px;
}

.ff-template-catalog-note {
	color: var(--color-text-muted);
	font-size: 13px;
	line-height: 1.65;
}

.ff-template-catalog-note strong {
	color: var(--color-text);
}

.ff-template-catalog-note span {
	display: block;
}

.ff-template-module-preview__header {
	display: grid;
	gap: 4px;
}

.ff-template-module-preview__header h3 {
	color: var(--color-text);
	font-size: 15px;
	line-height: 1.35;
	margin: 0;
}

.ff-template-layout-preview {
	background: rgba(10, 16, 28, 0.44);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: var(--ff-radius-control);
	padding-bottom: 14px;
	padding-top: 14px;
}

.ff-template-dummy-sidebar {
	background: rgba(255, 255, 255, 0.03);
	border: 1px dashed rgba(255, 255, 255, 0.14);
	border-radius: var(--ff-radius-control);
	padding: 12px;
}

.ff-template-dummy-sidebar__label {
	color: var(--color-text-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.ff-page-chrome__title {
		align-items: baseline;
		display: flex;
		flex-wrap: wrap;
		gap: 4px 14px;
	}

	.ff-page-chrome .match-page-h1 {
		flex: 0 1 auto;
		width: auto;
	}

	.ff-page-chrome .ff-page-title__subtitle {
		flex: 1 1 320px;
		line-height: var(--ff-page-title-line-height);
		max-width: none;
	}
}

@media (max-width: 639px) {
	.ff-match-list-group__header {
		font-size: 0.76rem;
		gap: 7px;
		min-height: 36px;
		padding: 7px 9px;
	}

	.ff-match-list-group__date,
	.ff-match-list-group__count {
		font-size: 0.66rem;
	}

	.ff-match-row-list .ff-home-match-row,
	.ff-match-row-list .ff-home-match-row--with-context {
		font-size: 0.78rem;
		gap: 5px;
		grid-template-columns: minmax(0, 1fr) 26px 62px 26px minmax(0, 1fr) 10px;
		min-height: 38px;
		padding: 5px 7px;
	}

	.ff-match-row-list .ff-home-match-row__context {
		grid-column: 1 / -1;
		white-space: normal;
	}

	.ff-match-row-list .ff-home-match-row__team {
		white-space: normal;
		word-break: break-word;
	}

	.ff-match-row-list .ff-home-match-row__status {
		font-size: 0.66rem;
		padding: 3px 4px;
	}

	.match-page-h1 {
		padding-left: var(--ff-layout-page-gutter-sm);
		padding-right: var(--ff-layout-page-gutter-sm);
	}

	.ff-page-chrome__inner,
	.ff-layout-shell,
	.ff-block-site-header > .wp-block-group,
	.ff-static-page {
		padding-left: var(--ff-layout-page-gutter-sm);
		padding-right: var(--ff-layout-page-gutter-sm);
	}

	.ff-layout-shell {
		padding-bottom: 40px;
	}

	.ff-static-page {
		padding-bottom: 40px;
		padding-top: 18px;
	}

	.ff-static-page__inner {
		border-radius: var(--ff-radius-card);
		padding: 18px;
	}

	.site-footer > .ff-site-footer__inner {
		padding-left: var(--ff-layout-page-gutter-sm);
		padding-right: var(--ff-layout-page-gutter-sm);
	}

	.ff-site-header__inner {
		align-items: center;
		flex-direction: row;
		gap: 12px;
	}

	.ff-site-header__nav {
		left: 10px;
		max-width: none;
		min-width: 0;
		right: 10px;
		width: auto;
	}

	.ff-page-chrome .ff-site-header__nav {
		left: 0;
		right: 0;
	}

	.country-nav__panel {
		left: 10px;
		right: 10px;
	}

	.country-nav__panel-inner {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 1024px) {
	.ff-page-chrome {
		-webkit-backdrop-filter: blur(16px);
		backdrop-filter: blur(16px);
		background:
			linear-gradient(180deg, rgba(8, 11, 18, 0.98), rgba(8, 11, 18, 0.94)),
			var(--color-bg);
		position: sticky;
		top: 0;
		z-index: var(--ff-page-chrome-z-index);
	}

	body.admin-bar .ff-page-chrome {
		top: 32px;
	}

	.ff-page-chrome__inner {
		gap: 6px;
		padding-bottom: 4px;
	}

	.ff-layout-shell {
		align-items: start;
		display: grid;
		gap: var(--ff-layout-gap);
		grid-template-columns: minmax(180px, 220px) minmax(0, 720px) minmax(220px, 300px);
		justify-content: center;
	}

	.ff-layout-main,
	.ff-layout-sidebar,
	.ff-layout-sidebar--right {
		order: initial;
	}

	.ff-layout-sidebar--left {
		grid-column: 1;
	}

	.ff-layout-main {
		grid-column: 2;
	}

	.ff-layout-sidebar--right {
		grid-column: 3;
	}

	.ff-layout-sidebar {
		align-self: start;
		position: sticky;
		top: var(--ff-sticky-side-top);
	}

	.left-league-nav {
		position: sticky;
		top: var(--ff-sticky-side-top);
	}
}

@media (max-width: 639px) {
	.ff-card,
	.ff-template-hero,
	.ff-template-demo {
		border-radius: var(--ff-radius-card);
		padding: 14px;
	}

	.ff-match-scoreboard {
		border-radius: var(--ff-radius-scoreboard);
		padding: 14px;
	}

	.ff-match-score {
		gap: 8px;
		grid-template-columns: minmax(0, 1fr) minmax(64px, auto) minmax(0, 1fr);
	}

	.ff-match-score__team {
		font-size: 16px;
	}

	.ff-match-score__numbers {
		font-size: 34px;
		gap: 7px;
	}

	.ff-match-score__versus {
		font-size: 28px;
	}

	.ff-match-scoreboard__meta-row,
	.ff-quick-stats__teams,
	.ff-stat-meta {
		gap: 6px;
		grid-template-columns: minmax(0, 1fr) minmax(64px, auto) minmax(0, 1fr);
	}

	.ff-lineup-compare,
	.ff-ai-review__grid,
	.ff-split-grid,
	.ff-template-grid {
		grid-template-columns: 1fr;
	}
	.ff-template-catalog {
		padding-left: var(--ff-layout-page-gutter-sm);
		padding-right: var(--ff-layout-page-gutter-sm);
	}
}
