.fet-portal,
.fetp-modal {
	--fet-navy: #023f87;
	--fet-ink: #172b4d;
	--fet-teal: #0ea5a3;
	--fet-yellow: #f7c948;
	--fet-paper: #f4f7fb;
	--fet-line: #dce5ef;
	--fet-muted: #8190a5;
	--fet-danger: #d6455d;
	--fet-surface: #ffffff;
	--fet-blue: var(--fet-teal);
	--fet-green: var(--fet-teal);
	--fet-lime: var(--fet-yellow);
	--fet-canvas: var(--fet-paper);
	--fet-soft-green: #effaf8;
	--fet-display: Poppins, "Segoe UI", sans-serif;
	--fet-body: Poppins, "Segoe UI", sans-serif;
	--fet-data: Poppins, "Segoe UI", sans-serif;
	--fet-shadow: 0 8px 20px rgb(2 63 135 / 14%);
	--fet-shadow-soft: 0 5px 18px rgb(36 54 82 / 4.5%);
	color: var(--fet-ink);
	font-family: var(--fet-body);
	font-size: 1rem;
	line-height: 1.55;
}

:where(.fet-portal, .fetp-modal) .fet-structure-stage,
:where(.fet-portal, .fetp-modal) .fet-draw-phase {
	margin: 1rem;
	padding: clamp(0.9rem, 2vw, 1.25rem);
	border: 1px solid var(--fet-line);
	border-radius: 10px;
	background: var(--fet-canvas);
}

:where(.fet-portal, .fetp-modal) .fet-structure-stage__header {
	display: flex;
	gap: 1rem;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 0.85rem;
}

:where(.fet-portal, .fetp-modal) .fet-structure-stage__header :where(p, h5) {
	margin-bottom: 0;
}

:where(.fet-portal, .fetp-modal) .fet-structure-stage__header h5,
:where(.fet-portal, .fetp-modal) .fet-draw-round h6,
:where(.fet-portal, .fetp-modal) .fet-group-card h6 {
	color: var(--fet-navy);
	font-family: var(--fet-display);
}

:where(.fet-portal, .fetp-modal) .fet-progress {
	height: 0.35rem;
	margin-bottom: 1rem;
	overflow: hidden;
	border-radius: 99px;
	background: #dbeafe;
}

:where(.fet-portal, .fetp-modal) .fet-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--fet-blue);
}

:where(.fet-portal, .fetp-modal) .fet-group-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
	gap: 1rem;
}

:where(.fet-portal, .fetp-modal) .fet-group-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--fet-line);
	border-radius: 8px;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-group-card h6 {
	margin: 0;
	padding: 0.8rem 1rem;
	border-bottom: 1px solid var(--fet-line);
	background: #f1f5f9;
	font-size: 0.88rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-group-card .fet-responsive-table {
	margin: 0;
	border: 0;
	border-radius: 0;
}

:where(.fet-portal, .fetp-modal) .fet-draw-scroll {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 0.35rem 0.2rem 0.9rem;
	scrollbar-color: #94a3b8 #e2e8f0;
}

:where(.fet-portal, .fetp-modal) .fet-draw-rounds {
	display: grid;
	grid-auto-columns: minmax(14rem, 17rem);
	grid-auto-flow: column;
	gap: 2rem;
	min-width: max-content;
}

:where(.fet-portal, .fetp-modal) .fet-draw-round > h6 {
	margin: 0 0 0.75rem;
	padding-bottom: 0.55rem;
	border-bottom: 2px solid #bfdbfe;
	font-size: 0.76rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-draw-round__matches {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	gap: 1rem;
	justify-content: space-around;
}

:where(.fet-portal, .fetp-modal) .fet-draw-match {
	position: relative;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: var(--fet-paper);
	box-shadow: 0 3px 10px rgb(15 23 42 / 6%);
}

:where(.fet-portal, .fetp-modal) .fet-draw-round:not(:last-child) .fet-draw-match::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	width: 2.05rem;
	border-top: 1px solid #94a3b8;
}

:where(.fet-portal, .fetp-modal) .fet-draw-match > header {
	display: flex;
	gap: 0.5rem;
	justify-content: space-between;
	padding: 0.45rem 0.65rem;
	border-bottom: 1px solid var(--fet-line);
	background: #f8fafc;
	color: var(--fet-muted);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-draw-match > header strong {
	color: var(--fet-navy);
	font-family: var(--fet-data);
}

:where(.fet-portal, .fetp-modal) .fet-draw-team {
	display: flex;
	min-height: 2.5rem;
	gap: 0.5rem;
	align-items: center;
	justify-content: space-between;
	padding: 0.55rem 0.7rem;
	font-size: 0.82rem;
}

:where(.fet-portal, .fetp-modal) .fet-draw-team + .fet-draw-team {
	border-top: 1px solid var(--fet-line);
}

:where(.fet-portal, .fetp-modal) .fet-draw-team--winner {
	box-shadow: inset 3px 0 #059669;
	color: #065f46;
	font-weight: 800;
}

:where(.fet-portal, .fetp-modal) .fet-draw-team small {
	min-width: 1.65rem;
	padding: 0.1rem 0.3rem;
	border-radius: 4px;
	background: #e2e8f0;
	color: #334155;
	font-family: var(--fet-data);
	text-align: center;
}

@media (max-width: 640px) {
	:where(.fet-portal, .fetp-modal) .fet-structure-stage,
	:where(.fet-portal, .fetp-modal) .fet-draw-phase {
		margin: 0.65rem;
		padding: 0.75rem;
	}

	:where(.fet-portal, .fetp-modal) .fet-structure-stage__header {
		align-items: start;
		flex-direction: column;
	}

	:where(.fet-portal, .fetp-modal) .fet-draw-rounds {
		grid-auto-columns: minmax(13rem, 78vw);
		gap: 1.25rem;
	}
}

.fet-portal {
	--fet-gutter: clamp(1rem, 4cqi, 2.35rem);
	box-sizing: border-box;
	container: fetportal / inline-size;
	position: relative;
	width: 100%;
	margin-block: 2rem;
	padding: var(--fet-gutter);
	border: 1px solid var(--fet-line);
	border-radius: 12px;
	background: var(--fet-canvas);
	box-shadow: var(--fet-shadow-soft);
	isolation: isolate;
}

.fet-portal *,
.fet-portal *::before,
.fet-portal *::after,
.fetp-modal *,
.fetp-modal *::before,
.fetp-modal *::after {
	box-sizing: border-box;
}

.fet-portal :where(h2, h3, h4, p, dl, ul),
.fetp-modal :where(h2, h3, h4, p, dl, ul) {
	margin-top: 0;
}

.fet-portal :where(h2, h3, h4),
.fetp-modal :where(h2, h3, h4) {
	color: var(--fet-navy);
	font-family: var(--fet-display);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.fet-portal h2,
.fetp-modal h2 {
	margin-bottom: 0;
	font-size: clamp(2rem, 4vw, 3.15rem);
	font-size: clamp(2rem, 6cqi, 3.15rem);
}

.fet-portal h3,
.fetp-modal h3 {
	font-size: clamp(1.2rem, 2vw, 1.5rem);
	font-size: clamp(1.2rem, 3cqi, 1.5rem);
}

.fet-portal h4,
.fetp-modal h4 {
	font-size: 1.05rem;
}

.fet-portal a,
.fetp-modal a {
	color: var(--fet-green);
	font-weight: 700;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
	transition: color 160ms ease;
}

.fet-portal a:hover,
.fetp-modal a:hover {
	color: var(--fet-green);
}

.fet-portal :where(a, button, input, select):focus-visible,
.fetp-modal :where(a, button, [tabindex]):focus-visible {
	outline: 3px solid var(--fet-lime);
	outline-offset: 3px;
}

:where(.fet-portal, .fetp-modal) .fet-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

:where(.fet-portal, .fetp-modal) .fet-kicker {
	display: flex;
	gap: 0.55rem;
	align-items: center;
	margin-bottom: 0.55rem;
	color: var(--fet-green);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-kicker::before {
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--fet-lime);
	box-shadow: inset 0 0 0 1px rgb(30 58 95 / 18%);
}

:where(.fet-portal, .fetp-modal) .fet-data-line {
	font-family: var(--fet-data);
	font-variant-numeric: tabular-nums;
}

.fet-portal .fet-portal__header {
	position: relative;
	display: grid;
	min-height: 12.5rem;
	gap: 1rem;
	align-content: end;
	margin: calc(var(--fet-gutter) * -1) calc(var(--fet-gutter) * -1) 1.75rem;
	padding: clamp(1.4rem, 4vw, 2.6rem);
	overflow: hidden;
	border: 0;
	border-radius: 11px 11px 8px 8px;
	background: var(--fet-navy);
	color: #ffffff;
}

.fet-portal .fet-portal__header::after {
	content: "";
	position: absolute;
	top: 50%;
	right: clamp(-3rem, 2cqi, 2rem);
	width: clamp(12rem, 34cqi, 24rem);
	aspect-ratio: 1.82;
	border: 1px solid rgb(96 165 250 / 44%);
	background:
		linear-gradient(90deg, transparent calc(50% - 0.5px), rgb(96 165 250 / 35%) 50%, transparent calc(50% + 0.5px)),
		linear-gradient(0deg, transparent calc(50% - 0.5px), rgb(96 165 250 / 35%) 50%, transparent calc(50% + 0.5px)),
		linear-gradient(90deg, transparent 24%, rgb(96 165 250 / 28%) 24%, rgb(96 165 250 / 28%) calc(24% + 1px), transparent calc(24% + 1px), transparent 76%, rgb(96 165 250 / 28%) 76%, rgb(96 165 250 / 28%) calc(76% + 1px), transparent calc(76% + 1px));
	opacity: 0.9;
	transform: translateY(-50%) rotate(-7deg);
	pointer-events: none;
}

.fet-portal .fet-portal__header > * {
	position: relative;
	z-index: 1;
}

.fet-portal .fet-portal__header :is(h2, .fet-kicker) {
	color: #ffffff;
}

.fet-portal .fet-portal__header .fet-kicker {
	color: var(--fet-lime);
}

.fet-portal .fet-portal__header > p {
	max-width: 34rem;
	margin-bottom: 0;
	color: #d9e8e1;
	font-size: 0.96rem;
}

.fet-portal .fet-detail-header {
	align-items: end;
}

.fet-portal .fet-back-link {
	justify-self: start;
	color: #ffffff;
}

.fet-portal :is(.fet-filter, .fet-search-form) {
	margin-bottom: 1.5rem;
	padding: clamp(1rem, 2.5vw, 1.5rem);
	padding: clamp(1rem, 3cqi, 1.5rem);
	border: 1px solid var(--fet-line);
	border-top: 4px solid var(--fet-lime);
	border-radius: 16px;
	background: var(--fet-paper);
	box-shadow: var(--fet-shadow-soft);
}

.fet-portal .fet-filter {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	align-items: end;
}

.fet-portal :is(.fet-field label, .fet-search-form label) {
	display: block;
	margin-bottom: 0.45rem;
	color: var(--fet-navy);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.fet-portal :where(input, select, button) {
	min-height: 3.15rem;
	border-radius: 10px;
	font: inherit;
}

.fet-portal :where(input, select) {
	width: 100%;
	border: 1px solid #a9b7b0;
	background: var(--fet-paper);
	color: var(--fet-ink);
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.fet-portal :where(input, select):hover {
	border-color: var(--fet-green);
}

.fet-portal :where(input, select):focus {
	border-color: var(--fet-green);
	box-shadow: 0 0 0 4px rgb(7 90 70 / 12%);
}

.fet-portal input::placeholder {
	color: #87948e;
	opacity: 1;
}

.fet-portal input {
	padding: 0.65rem 0.85rem;
}

.fet-portal select {
	padding: 0.6rem 2.2rem 0.6rem 0.85rem;
}

.fet-portal .fet-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 0.65rem 1.2rem;
	border: 1px solid var(--fet-navy);
	border-radius: 999px;
	background: var(--fet-green);
	color: #ffffff;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 7px 18px rgb(30 58 95 / 18%);
	transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.fet-portal .fet-button::after {
	content: "\2192";
	font-size: 1.05em;
}

.fet-portal .fet-button:hover {
	background: var(--fet-navy);
	box-shadow: 0 10px 22px rgb(30 58 95 / 24%);
	transform: translateY(-1px);
}

.fet-portal .fet-filter__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.fet-portal .fet-filter__reset {
	padding: 0.45rem 0.2rem;
	color: var(--fet-muted);
	font-size: 0.82rem;
}

.fet-portal .fet-search-form__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

.fet-portal .fet-search-form__row .fet-button {
	width: 100%;
}

.fet-portal :is(.fet-help, .fet-results-count) {
	margin: 0.75rem 0 0;
	color: var(--fet-muted);
	font-size: 0.82rem;
}

.fet-portal .fet-results-count {
	font-family: var(--fet-data);
	font-variant-numeric: tabular-nums;
}

.fet-portal .fet-tournament-table-wrap {
	display: none;
	overflow-x: auto;
	border: 1px solid var(--fet-line);
	border-radius: 16px;
	background: var(--fet-paper);
	box-shadow: var(--fet-shadow-soft);
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: var(--fet-paper);
	font-size: 0.87rem;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) thead {
	background: var(--fet-navy);
	color: #ffffff;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) :where(th, td) {
	padding: 1rem 0.9rem;
	border: 0;
	border-bottom: 1px solid var(--fet-line);
	text-align: left;
	vertical-align: middle;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) thead th {
	color: #ffffff;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) tbody tr:hover {
	background: #f4f8f5;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) tbody tr:last-child :where(th, td) {
	border-bottom: 0;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) small {
	display: block;
	margin-top: 0.25rem;
	color: var(--fet-muted);
	font-size: 0.75rem;
	font-weight: 500;
}

.fet-portal .fet-date-cell {
	min-width: 9.5rem;
	border-left: 3px solid transparent !important;
	font-family: var(--fet-data);
	font-variant-numeric: tabular-nums;
}

.fet-portal .fet-tournament-table tbody tr:hover .fet-date-cell {
	border-left-color: var(--fet-lime) !important;
}

.fet-portal .fet-date-cell :is(strong, span) {
	display: block;
}

.fet-portal .fet-date-cell span {
	margin-top: 0.15rem;
	color: var(--fet-muted);
	font-size: 0.74rem;
}

.fet-portal .fet-tournament-name {
	display: block;
	max-width: 24rem;
	color: var(--fet-navy);
	font-family: var(--fet-display);
	font-size: 1.03rem;
	font-weight: 700;
	line-height: 1.2;
}

:where(.fet-portal, .fetp-modal) :is(.fet-chip-row, .fet-document-links, .fet-match-card__flags) {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	align-items: center;
}

:where(.fet-portal, .fetp-modal) :is(.fet-status-chip, .fet-count, .fet-match-card__flags span, .fet-result-label) {
	display: inline-flex;
	width: fit-content;
	padding: 0.28rem 0.58rem;
	border: 1px solid #b9cbc2;
	border-radius: 999px;
	background: var(--fet-soft-green);
	color: var(--fet-navy);
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	line-height: 1.25;
	text-transform: uppercase;
}

.fet-portal .fet-detail-link {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
	min-height: 2.6rem;
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--fet-green);
	border-radius: 999px;
	background: transparent;
	color: var(--fet-green);
	font-size: 0.8rem;
	text-decoration: none;
	white-space: nowrap;
	transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.fet-portal .fet-detail-link:hover {
	background: var(--fet-green);
	color: #ffffff;
	transform: translateY(-1px);
}

.fet-portal .fet-tournament-cards {
	display: grid;
	gap: 1rem;
}

.fet-portal .fet-tournament-card {
	position: relative;
	margin: 0;
	padding: 1.15rem;
	border: 1px solid var(--fet-line);
	border-radius: 16px;
	background: var(--fet-paper);
	box-shadow: var(--fet-shadow-soft);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fet-portal .fet-tournament-card:hover {
	border-color: #b4c9be;
	box-shadow: 0 16px 36px rgb(30 58 95 / 12%);
	transform: translateY(-2px);
}

.fet-portal .fet-tournament-card__date {
	margin: -1.15rem -1.15rem 1.1rem;
	padding: 0.8rem 1.15rem;
	border-top: 4px solid var(--fet-lime);
	border-radius: 15px 15px 0 0;
	background: var(--fet-navy);
	color: #ffffff;
	font-family: var(--fet-data);
	font-variant-numeric: tabular-nums;
}

.fet-portal .fet-tournament-card__date :is(span, strong) {
	display: block;
}

.fet-portal .fet-tournament-card__date span {
	margin-bottom: 0.15rem;
	color: #d9e8e1;
	font-family: inherit;
	font-size: 0.65rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.fet-portal .fet-tournament-card h3 {
	margin-bottom: 0.5rem;
	font-size: 1.35rem;
}

.fet-portal .fet-tournament-card__venue {
	margin-bottom: 0.9rem;
	color: var(--fet-muted);
}

.fet-portal .fet-tournament-card dl {
	margin-bottom: 1rem;
}

.fet-portal .fet-tournament-card dl > div {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr);
	gap: 0.65rem;
	padding-block: 0.5rem;
	border-top: 1px solid var(--fet-line);
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-card, .fet-fact-grid, .fet-timeline-list) dt {
	color: var(--fet-muted);
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-card, .fet-fact-grid, .fet-timeline-list) dd {
	margin: 0;
}

.fet-portal .fet-pagination-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--fet-line);
}

.fet-portal .fet-pagination-bar > p {
	margin: 0;
	color: var(--fet-muted);
	font-size: 0.82rem;
}

.fet-portal .fet-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	align-items: center;
}

.fet-portal .fet-pagination > :where(a, span[aria-current]) {
	display: inline-flex;
	min-width: 2.45rem;
	height: 2.45rem;
	align-items: center;
	justify-content: center;
	padding-inline: 0.55rem;
	border: 1px solid var(--fet-line);
	border-radius: 50%;
	background: var(--fet-paper);
	text-decoration: none;
}

.fet-portal .fet-pagination > span[aria-current] {
	border-color: var(--fet-navy);
	background: var(--fet-navy);
	color: #ffffff;
	font-weight: 800;
}

.fet-portal .fet-pagination__gap {
	padding-inline: 0.2rem;
	color: var(--fet-muted);
}

:where(.fet-portal, .fetp-modal) :is(.fet-notice, .fet-empty, .fet-search-prompt) {
	margin-bottom: 0;
	padding: 1rem 1.1rem;
	border: 1px solid var(--fet-line);
	border-left: 4px solid var(--fet-green);
	border-radius: 12px;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-notice--error {
	border-left-color: var(--fet-danger);
	color: #74242a;
}

:where(.fet-portal, .fetp-modal) .fet-notice--error::before {
	content: "Error: ";
	font-weight: 800;
}

.fet-portal .fet-detail-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-bottom: 1.25rem;
}

.fet-portal .fet-detail-nav a {
	padding: 0.55rem 0.9rem;
	border: 1px solid var(--fet-line);
	border-radius: 999px;
	background: var(--fet-paper);
	text-decoration: none;
}

.fet-portal .fet-detail-nav a:hover {
	border-color: var(--fet-green);
	background: var(--fet-soft-green);
}

.fet-portal .fet-ssr-section {
	margin-top: 1rem;
	padding: clamp(0.9rem, 2.5vw, 1.5rem);
	padding: clamp(0.9rem, 3cqi, 1.5rem);
	border: 1px solid var(--fet-line);
	border-radius: 16px;
	background: var(--fet-paper);
	box-shadow: var(--fet-shadow-soft);
	scroll-margin-top: 2rem;
}

.fet-portal .fet-ssr-section[hidden] {
	display: none;
}

.fet-portal .fet-ssr-section > h3:first-child {
	margin-bottom: 1rem;
	padding-bottom: 0.8rem;
	border-bottom: 1px solid var(--fet-line);
}

:where(.fet-portal, .fetp-modal) .fet-score-dates {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
	margin-bottom: 1rem;
	padding-top: 5px;
	overflow: hidden;
	border-radius: 14px;
	background: var(--fet-lime);
	box-shadow: var(--fet-shadow);
}

:where(.fet-portal, .fetp-modal) .fet-score-dates__item {
	min-width: 0;
	padding: clamp(0.85rem, 2.5vw, 1.2rem);
	padding: clamp(0.85rem, 3cqi, 1.2rem);
	background: var(--fet-navy);
	color: #ffffff;
}

:where(.fet-portal, .fetp-modal) .fet-score-dates__item :is(span, strong) {
	display: block;
}

:where(.fet-portal, .fetp-modal) .fet-score-dates__item span {
	margin-bottom: 0.25rem;
	color: #d9e8e1;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-score-dates__item strong {
	font-family: var(--fet-data);
	font-size: clamp(0.9rem, 2vw, 1.2rem);
	font-size: clamp(0.9rem, 3cqi, 1.2rem);
	font-variant-numeric: tabular-nums;
}

:where(.fet-portal, .fetp-modal) .fet-score-dates__divider {
	background: #3c6c5f;
}

:where(.fet-portal, .fetp-modal) .fet-fact-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
	margin-bottom: 1rem;
	overflow: hidden;
	border: 1px solid var(--fet-line);
	border-radius: 12px;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-fact-grid > div {
	min-width: 0;
	padding: 0.9rem;
	border-right: 1px solid var(--fet-line);
	border-bottom: 1px solid var(--fet-line);
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-fact-grid dd {
	margin-top: 0.25rem;
	overflow-wrap: anywhere;
	font-weight: 700;
}

:where(.fet-portal, .fetp-modal) .fet-detail-block {
	margin-top: 1.35rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--fet-line);
}

:where(.fet-portal, .fetp-modal) .fet-detail-block > h3 {
	margin-bottom: 0.9rem;
	font-size: 1.25rem;
}

:where(.fet-portal, .fetp-modal) .fet-timeline-list {
	display: grid;
	margin-bottom: 0;
}

:where(.fet-portal, .fetp-modal) .fet-timeline-list > div {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	padding-block: 0.55rem;
	border-bottom: 1px solid var(--fet-line);
}

:where(.fet-portal, .fetp-modal) .fet-timeline-list dd {
	font-family: var(--fet-data);
	font-variant-numeric: tabular-nums;
}

:where(.fet-portal, .fetp-modal) :is(.fet-contact-grid, .fet-event-grid) {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
	gap: 0.85rem;
}

:where(.fet-portal, .fetp-modal) :is(.fet-contact-card, .fet-event-card) {
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--fet-line);
	border-radius: 12px;
	background: var(--fet-paper);
	transition: border-color 160ms ease, transform 160ms ease;
}

:where(.fet-portal, .fetp-modal) :is(.fet-contact-card, .fet-event-card):hover {
	border-color: #adc7ba;
	transform: translateY(-1px);
}

:where(.fet-portal, .fetp-modal) .fet-contact-card > :where(span, strong, a) {
	display: block;
	overflow-wrap: anywhere;
}

:where(.fet-portal, .fetp-modal) .fet-contact-card > span {
	margin-bottom: 0.2rem;
	color: var(--fet-muted);
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-event-card h4 {
	margin-bottom: 0.35rem;
}

:where(.fet-portal, .fetp-modal) .fet-event-card p {
	margin-bottom: 0.25rem;
	color: var(--fet-muted);
	font-size: 0.83rem;
}

:where(.fet-portal, .fetp-modal) .fet-document-links a {
	display: inline-flex;
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--fet-green);
	border-radius: 999px;
	background: var(--fet-soft-green);
	text-decoration: none;
}

:where(.fet-portal, .fetp-modal) .fet-note-list {
	display: grid;
	gap: 0.65rem;
}

:where(.fet-portal, .fetp-modal) .fet-note-list > div {
	padding: 1rem;
	border-left: 3px solid var(--fet-lime);
	border-radius: 0 10px 10px 0;
	background: #f6f9f5;
}

:where(.fet-portal, .fetp-modal) .fet-note-list h4 {
	margin-bottom: 0.35rem;
}

:where(.fet-portal, .fetp-modal) .fet-note-list p {
	margin-bottom: 0;
	white-space: pre-line;
}

:where(.fet-portal, .fetp-modal) :is(.fet-event-stack, .fet-match-list, .fet-order-stack) {
	display: grid;
	gap: 1rem;
}

:where(.fet-portal, .fetp-modal) .fet-event-section {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--fet-line);
	border-radius: 14px;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) :is(.fet-event-section__header, .fet-section-heading) {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.1rem;
	border-bottom: 1px solid var(--fet-line);
	background: #f8faf7;
}

:where(.fet-portal, .fetp-modal) :is(.fet-event-section__header :where(p, h4), .fet-section-heading :where(p, h3)) {
	margin-bottom: 0;
}

:where(.fet-portal, .fetp-modal) .fet-event-section > .fet-empty {
	margin: 0.8rem;
}

:where(.fet-portal, .fetp-modal) .fet-responsive-table {
	width: 100%;
	overflow-x: auto;
	scrollbar-color: var(--fet-green) var(--fet-canvas);
	scrollbar-width: thin;
}

:where(.fet-portal, .fetp-modal) .fet-order-days {
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
}

:where(.fet-portal, .fetp-modal) .fet-order-day {
	overflow: hidden;
	border: 1px solid var(--fet-line);
	border-radius: 12px;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-order-day__header {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--fet-line);
	background: #f8faf7;
}

:where(.fet-portal, .fetp-modal) .fet-order-day__header :is(.fet-kicker, h5) {
	margin-bottom: 0;
}

:where(.fet-portal, .fetp-modal) .fet-order-table {
	width: 100%;
	min-width: 62rem;
	border-collapse: collapse;
	font-size: 0.82rem;
}

:where(.fet-portal, .fetp-modal) .fet-order-table th {
	padding: 0.7rem 0.75rem;
	background: #f5f8f5;
	color: var(--fet-muted);
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-align: left;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-order-table td {
	padding: 0.7rem 0.75rem;
	border-top: 1px solid var(--fet-line);
	vertical-align: middle;
}

:where(.fet-portal, .fetp-modal) .fet-order-table__number,
:where(.fet-portal, .fetp-modal) .fet-order-table__time,
:where(.fet-portal, .fetp-modal) .fet-order-table__score {
	font-family: var(--fet-data);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

:where(.fet-portal, .fetp-modal) .fet-order-table__number {
	color: var(--fet-green);
	font-weight: 800;
}

:where(.fet-portal, .fetp-modal) .fet-order-table__time {
	font-size: 0.9rem;
	font-weight: 800;
}

:where(.fet-portal, .fetp-modal) .fet-order-matchup {
	display: grid;
	min-width: 14rem;
	gap: 0.35rem;
}

:where(.fet-portal, .fetp-modal) .fet-order-team {
	min-width: 0;
	padding: 0.2rem 0.45rem;
	border-left: 3px solid transparent;
}

:where(.fet-portal, .fetp-modal) .fet-order-team--winner {
	border-left-color: var(--fet-lime);
	background: #eef7f2;
}

:where(.fet-portal, .fetp-modal) .fet-order-team .fet-team-names {
	font-weight: 700;
}

:where(.fet-portal, .fetp-modal) .fet-order-table__status {
	white-space: nowrap;
}

:where(.fet-portal, .fetp-modal) .fet-order-status {
	display: inline-flex;
	padding: 0.28rem 0.5rem;
	border-radius: 999px;
	background: #edf1ee;
	color: var(--fet-muted);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-order-status--programado {
	background: #eef5ff;
	color: #245995;
}

:where(.fet-portal, .fetp-modal) .fet-order-status--en_juego {
	background: #fff5d8;
	color: #7a5a00;
}

:where(.fet-portal, .fetp-modal) .fet-order-status--finalizado {
	background: var(--fet-soft-green);
	color: var(--fet-green);
}

:where(.fet-portal, .fetp-modal) .fet-entry-table {
	min-width: 42rem;
}

:where(.fet-portal, .fetp-modal) .fet-entry-table td:nth-child(3) small {
	margin-top: 0.35rem;
}

:where(.fet-portal, .fetp-modal) .fet-team-names {
	display: grid;
	gap: 0.12rem;
}

:where(.fet-portal, .fetp-modal) .fet-team-names > :where(a, span, strong) {
	width: fit-content;
	overflow-wrap: anywhere;
}

:where(.fet-portal, .fetp-modal) .fet-match-list {
	padding: 1rem;
}

:where(.fet-portal, .fetp-modal) .fet-match-card {
	overflow: hidden;
	border: 1px solid var(--fet-line);
	border-radius: 12px;
	background: var(--fet-paper);
	box-shadow: 0 5px 16px rgb(30 58 95 / 6%);
}

:where(.fet-portal, .fetp-modal) .fet-match-card > header {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	justify-content: space-between;
	padding: 0.7rem 0.9rem;
	border-bottom: 1px solid var(--fet-line);
	background: #f5f8f5;
	color: var(--fet-muted);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-match-card > header > div:first-child :is(strong, span) {
	display: block;
}

:where(.fet-portal, .fetp-modal) .fet-match-card > header > div:first-child strong {
	color: var(--fet-navy);
	font-size: 0.85rem;
}

:where(.fet-portal, .fetp-modal) .fet-match-card__court {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

:where(.fet-portal, .fetp-modal) .fet-match-card__teams {
	min-width: 0;
}

:where(.fet-portal, .fetp-modal) .fet-match-team {
	display: flex;
	gap: 0.7rem;
	align-items: center;
	justify-content: space-between;
	min-height: 3.2rem;
	padding: 0.65rem 0.8rem;
	border-bottom: 1px solid var(--fet-line);
}

:where(.fet-portal, .fetp-modal) .fet-match-team--winner {
	background: #eef7f2;
}

:where(.fet-portal, .fetp-modal) .fet-match-team--winner .fet-team-names::before {
	content: "W";
	display: inline-flex;
	grid-row: 1 / span 2;
	width: 1.35rem;
	height: 1.35rem;
	align-items: center;
	justify-content: center;
	margin-right: 0.25rem;
	border-radius: 50%;
	background: var(--fet-lime);
	color: var(--fet-navy);
	font-size: 0.65rem;
	font-weight: 900;
}

:where(.fet-portal, .fetp-modal) .fet-match-team--winner .fet-team-names {
	grid-template-columns: auto minmax(0, 1fr);
}

:where(.fet-portal, .fetp-modal) :is(.fet-winner-label, .fet-match-team > strong:last-child) {
	color: var(--fet-green);
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-match-score {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 9rem;
	padding: 0.8rem;
	background: var(--fet-navy);
	color: #ffffff;
	text-align: center;
}

:where(.fet-portal, .fetp-modal) .fet-match-score :is(span, small) {
	color: #d9e8e1;
	font-size: 0.63rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-match-score strong {
	font-family: var(--fet-data);
	font-size: clamp(1rem, 2vw, 1.35rem);
	font-size: clamp(1rem, 3cqi, 1.35rem);
	font-variant-numeric: tabular-nums;
}

.fet-portal .fet-player-list {
	display: grid;
	gap: 0;
	margin: 1rem 0 0;
	padding: 0;
	border: 1px solid var(--fet-line);
	border-radius: 16px;
	background: var(--fet-paper);
	box-shadow: var(--fet-shadow-soft);
	list-style: none;
}

.fet-portal .fet-player-list li {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	min-width: 0;
	padding: 0.85rem 1rem;
	border-bottom: 1px solid var(--fet-line);
	transition: background 160ms ease;
}

.fet-portal .fet-player-list li:hover {
	background: #f4f8f5;
}

.fet-portal .fet-player-list li:last-child {
	border-bottom: 0;
}

.fet-portal .fet-player-list__mark {
	display: inline-flex;
	width: 2.5rem;
	height: 2.5rem;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--fet-lime);
	color: var(--fet-navy);
	font-family: var(--fet-data);
	font-size: 0.85rem;
	font-weight: 800;
}

.fet-portal .fet-search-prompt {
	position: relative;
	padding-left: 3.4rem;
	border-left-color: var(--fet-lime);
	color: var(--fet-muted);
}

.fet-portal .fet-search-prompt::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 1rem;
	width: 1.55rem;
	height: 1.55rem;
	border-radius: 50%;
	background: var(--fet-lime);
	box-shadow: inset 0 0 0 1px rgb(30 58 95 / 16%);
	transform: translateY(-50%);
}

.fet-portal.fet-player-search .fet-search-form {
	max-width: 58rem;
}

.fet-portal.fet-player-search .fet-search-form__row input {
	font-size: 1.05rem;
}

.fet-portal .fet-profile-hero {
	position: relative;
	display: grid;
	gap: 1.25rem;
	margin-bottom: 1.25rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	padding: clamp(1.25rem, 5cqi, 2rem);
	overflow: hidden;
	border-top: 5px solid var(--fet-lime);
	border-radius: 20px;
	background: var(--fet-navy);
	color: #ffffff;
	box-shadow: var(--fet-shadow);
}

.fet-portal .fet-profile-identity {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
}

.fet-portal .fet-profile-identity :is(h2, .fet-kicker) {
	color: #ffffff;
}

.fet-portal :is(.fet-profile-identity img, .fet-profile-monogram) {
	width: clamp(5rem, 15vw, 8rem);
	width: clamp(5rem, 18cqi, 8rem);
	height: clamp(5rem, 15vw, 8rem);
	height: clamp(5rem, 18cqi, 8rem);
	flex: 0 0 auto;
	border: 4px solid #ffffff;
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--fet-lime);
	object-fit: cover;
}

.fet-portal .fet-profile-monogram {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--fet-green);
	font-family: var(--fet-data);
	font-size: 2.5rem;
	font-weight: 900;
}

.fet-portal .fet-profile-meta {
	margin: 0.4rem 0 0;
	color: #d9e8e1;
}

.fet-portal .fet-profile-rankings {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
	align-content: center;
	padding-top: 0.5rem;
	border-top: 1px solid rgb(255 255 255 / 22%);
}

.fet-portal .fet-ranking-score {
	min-width: 9rem;
	padding: 0.85rem;
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: 10px;
	background: #052f28;
	text-align: right;
}

.fet-portal .fet-ranking-score > :where(span, strong, small) {
	display: block;
}

.fet-portal .fet-ranking-score > span {
	color: #d9e8e1;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.fet-portal .fet-ranking-score > strong {
	color: var(--fet-lime);
	font-family: var(--fet-data);
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-size: clamp(2rem, 8cqi, 3.5rem);
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.fet-portal .fet-ranking-score > small {
	margin-top: 0.25rem;
	color: #d9e8e1;
}

.fet-portal .fet-profile-block {
	min-width: 0;
	margin-top: 1.25rem;
	border: 1px solid var(--fet-line);
	overflow: hidden;
	border-radius: 16px;
	background: var(--fet-paper);
	box-shadow: var(--fet-shadow-soft);
}

.fet-portal .fet-profile-block > .fet-empty {
	margin: 0.8rem;
}

.fet-portal .fet-stat-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	background: var(--fet-line);
}

.fet-portal .fet-stat-card {
	padding: 1.2rem;
	background: var(--fet-paper);
}

.fet-portal .fet-stat-card h4 {
	margin-bottom: 0.5rem;
}

.fet-portal .fet-stat-card > :is(strong, span) {
	display: block;
}

.fet-portal .fet-stat-card > strong {
	color: var(--fet-green);
	font-family: var(--fet-data);
	font-size: 2.25rem;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.fet-portal .fet-stat-card > span {
	color: var(--fet-muted);
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
}

.fet-portal .fet-stat-card dl {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.4rem;
	margin: 0.8rem 0 0;
}

.fet-portal .fet-stat-card dl > div {
	padding-top: 0.45rem;
	border-top: 1px solid var(--fet-line);
}

.fet-portal .fet-stat-card dt {
	color: var(--fet-muted);
	font-size: 0.62rem;
	font-weight: 750;
	text-transform: uppercase;
}

.fet-portal .fet-stat-card dd {
	margin: 0;
	font-family: var(--fet-data);
	font-weight: 800;
}

.fet-portal .fet-profile-columns {
	display: grid;
	gap: 1rem;
}

.fet-portal .fet-profile-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fet-portal .fet-profile-list li {
	display: grid;
	gap: 0.6rem;
	padding: 0.85rem 1rem;
	border-bottom: 1px solid var(--fet-line);
}

.fet-portal .fet-profile-list li:last-child {
	border-bottom: 0;
}

.fet-portal .fet-profile-list li > div:first-child :where(strong, span) {
	display: block;
}

.fet-portal .fet-profile-list li > div:first-child span {
	margin-top: 0.2rem;
	color: var(--fet-muted);
	font-size: 0.77rem;
}

.fet-portal .fet-profile-list__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
	justify-content: space-between;
	font-size: 0.74rem;
}

.fet-portal .fet-profile-results-table th[scope="row"] :is(strong, small) {
	display: block;
}

.fet-portal .fet-match-list--profile {
	padding: 0.85rem;
}

.fet-portal .fet-profile-match .fet-match-team__role {
	flex: 0 0 5.5rem;
	color: var(--fet-muted);
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-loading {
	display: flex;
	min-height: 9rem;
	flex-direction: column;
	gap: 0.75rem;
	align-items: center;
	justify-content: center;
	color: var(--fet-muted);
	text-align: center;
}

:where(.fet-portal, .fetp-modal) .fet-loading p {
	margin: 0;
}

:where(.fet-portal, .fetp-modal) .fet-loading__spinner {
	display: block;
	width: 2rem;
	height: 2rem;
	border: 3px solid var(--fet-line);
	border-top-color: var(--fet-green);
	border-right-color: var(--fet-lime);
	border-radius: 50%;
	animation: fetp-spin 0.75s linear infinite;
}

.fetp-modal[hidden],
.fetp-modal .fetp-modal__panel[hidden] {
	display: none !important;
}

.fetp-modal {
	box-sizing: border-box;
	container: fetmodal / inline-size;
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	align-items: center;
	justify-items: center;
	padding: clamp(0.5rem, 2vw, 1.25rem);
}

.fetp-modal .fetp-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(3 35 29 / 82%);
	backdrop-filter: blur(6px);
}

.fetp-modal .fetp-modal__dialog {
	position: relative;
	display: grid;
	grid-template-rows: auto auto auto minmax(0, 1fr);
	width: min(72rem, 100%);
	max-height: min(92vh, 58rem);
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 26%);
	border-radius: 20px;
	background: var(--fet-canvas);
	box-shadow: 0 32px 100px rgb(0 0 0 / 42%);
}

.fetp-modal .fetp-modal__header {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	justify-content: space-between;
	padding: clamp(1rem, 3vw, 1.55rem);
	border-bottom: 1px solid rgb(255 255 255 / 14%);
	background: var(--fet-navy);
	color: #ffffff;
}

.fetp-modal .fetp-modal__header .fet-kicker {
	margin-bottom: 0.2rem;
}

.fetp-modal .fetp-modal__header h2 {
	color: #ffffff;
	font-size: clamp(1.25rem, 4vw, 2rem);
}

.fetp-modal .fetp-modal__header .fet-kicker {
	color: var(--fet-lime);
}

.fetp-modal .fetp-modal__close {
	display: inline-flex;
	width: 2.6rem;
	height: 2.6rem;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 28%);
	border-radius: 50%;
	background: rgb(255 255 255 / 8%);
	color: #ffffff;
	font: inherit;
	font-size: 1.7rem;
	cursor: pointer;
}

.fetp-modal .fetp-modal__close:hover {
	border-color: var(--fet-lime);
	background: var(--fet-lime);
	color: var(--fet-navy);
}

.fetp-modal .fetp-modal__tabs {
	display: flex;
	overflow-x: auto;
	border-bottom: 1px solid var(--fet-line);
	background: var(--fet-paper);
	scrollbar-width: thin;
}

.fetp-modal .fetp-modal__tabs button {
	position: relative;
	min-height: 3.35rem;
	flex: 1 0 auto;
	padding: 0.7rem 1rem;
	border: 0;
	border-right: 1px solid var(--fet-line);
	border-radius: 0;
	background: var(--fet-paper);
	box-shadow: none;
	color: var(--fet-muted);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.fetp-modal .fetp-modal__tabs button[aria-selected="true"] {
	color: var(--fet-navy);
	background: #f7faf6;
}

.fetp-modal .fetp-modal__tabs button[aria-selected="true"]::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 4px;
	background: var(--fet-lime);
}

.fetp-modal .fetp-modal__body {
	min-height: 12rem;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.fetp-modal .fetp-modal__panel {
	min-height: 100%;
	padding: clamp(0.85rem, 3vw, 1.5rem);
}

body.fetp-scroll-lock {
	overflow: hidden !important;
}

@keyframes fetp-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes fetp-enter {
	from {
		opacity: 0.01;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: no-preference) {
	.fet-portal--ready {
		animation: fetp-enter 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
	}
}

@container fetportal (min-width: 36rem) {
	.fet-portal .fet-search-form__row {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.fet-portal .fet-search-form__row .fet-button {
		width: auto;
	}

	.fet-portal .fet-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fet-portal .fet-filter .fet-button {
		grid-column: 1 / -1;
	}

	.fet-portal .fet-filter__actions {
		grid-column: 1 / -1;
	}

	.fet-portal :is(.fet-tournament-cards, .fet-stat-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fet-portal .fet-profile-rankings {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
	}

	.fet-portal .fet-match-card__court {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.fet-portal .fet-timeline-list > div {
		grid-template-columns: minmax(8rem, 0.45fr) minmax(0, 1fr);
	}

	.fet-portal .fet-profile-identity {
		align-items: center;
		flex-direction: row;
	}
}

@container fetportal (min-width: 48rem) {
	.fet-portal :is(.fet-portal__header, .fet-detail-header) {
		grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.55fr);
		align-items: end;
	}

	.fet-portal .fet-back-link {
		justify-self: end;
	}

	.fet-portal .fet-filter {
		grid-template-columns: minmax(8rem, 12rem) minmax(10rem, 14rem) minmax(10rem, 14rem);
		justify-content: start;
	}

	.fet-portal .fet-filter .fet-button {
		grid-column: auto;
	}

	.fet-portal .fet-filter__actions {
		grid-column: auto;
	}

	.fet-portal .fet-tournament-table-wrap {
		display: block;
	}

	.fet-portal .fet-tournament-cards {
		display: none;
	}

	.fet-portal .fet-profile-hero {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.55fr);
		align-items: center;
	}

	.fet-portal .fet-stat-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fet-portal .fet-profile-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container fetmodal (min-width: 36rem) {
	.fetp-modal .fet-match-card__court {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.fetp-modal .fet-timeline-list > div {
		grid-template-columns: minmax(8rem, 0.45fr) minmax(0, 1fr);
	}
}

@supports not (container-type: inline-size) {
	@media (min-width: 576px) {
		.fet-portal .fet-search-form__row {
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.fet-portal .fet-search-form__row .fet-button {
			width: auto;
		}

		.fet-portal .fet-filter {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.fet-portal .fet-filter .fet-button {
			grid-column: 1 / -1;
		}

		.fet-portal .fet-filter__actions {
			grid-column: 1 / -1;
		}

		.fet-portal :is(.fet-tournament-cards, .fet-stat-grid) {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.fet-portal .fet-profile-rankings {
			grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
		}

		:is(.fet-portal, .fetp-modal) .fet-match-card__court {
			grid-template-columns: minmax(0, 1fr) auto;
		}

		:is(.fet-portal, .fetp-modal) .fet-timeline-list > div {
			grid-template-columns: minmax(8rem, 0.45fr) minmax(0, 1fr);
		}

		.fet-portal .fet-profile-identity {
			align-items: center;
			flex-direction: row;
		}
	}

	@media (min-width: 768px) {
		.fet-portal :is(.fet-portal__header, .fet-detail-header) {
			grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.55fr);
			align-items: end;
		}

		.fet-portal .fet-back-link {
			justify-self: end;
		}

		.fet-portal .fet-filter {
			grid-template-columns: minmax(8rem, 12rem) minmax(10rem, 14rem) minmax(10rem, 14rem);
			justify-content: start;
		}

		.fet-portal .fet-filter .fet-button {
			grid-column: auto;
		}

		.fet-portal .fet-filter__actions {
			grid-column: auto;
		}

		.fet-portal .fet-tournament-table-wrap {
			display: block;
		}

		.fet-portal .fet-tournament-cards {
			display: none;
		}

		.fet-portal .fet-profile-hero {
			grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.55fr);
			align-items: center;
		}

		.fet-portal .fet-stat-grid {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.fet-portal .fet-profile-columns {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}
}

@media (max-width: 575px) {
	.fet-portal {
		--fet-gutter: 1rem;
		margin-block: 1.25rem;
		border-radius: 18px;
	}

	.fet-portal .fet-portal__header {
		min-height: 11rem;
		padding: 1.35rem;
		border-radius: 17px 17px 13px 13px;
	}

	.fet-portal .fet-portal__header::after {
		right: -6rem;
		width: 18rem;
		opacity: 0.42;
	}

	.fet-portal .fet-portal__header > p {
		max-width: 18rem;
	}

	.fet-portal .fet-filter__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.fet-portal .fet-filter__reset {
		justify-self: center;
	}

	.fet-portal .fet-search-form__row,
	:where(.fet-portal, .fetp-modal) .fet-timeline-list > div {
		grid-template-columns: 1fr;
	}

	.fet-portal .fet-search-form__row .fet-button {
		width: 100%;
	}

	.fet-portal .fet-profile-identity {
		align-items: flex-start;
		flex-direction: column;
	}

	.fetp-modal {
		align-items: stretch;
		padding: 0;
	}

	.fetp-modal .fetp-modal__dialog {
		width: 100%;
		max-height: 100dvh;
		border: 0;
		border-radius: 0;
	}

	.fetp-modal .fetp-modal__tabs button {
		padding-inline: 0.8rem;
	}
}

.fet-portal .fet-event-filters {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	gap: 0.55rem;
	align-items: end;
	margin-top: 0.7rem;
	margin-bottom: 0.75rem;
	padding: 0.5rem 0.65rem;
	border: 1px solid var(--fet-line);
	border-left: 3px solid var(--fet-teal);
	border-radius: 2px;
	background: var(--fet-surface);
}

.fet-portal .fet-event-filters .fet-field label {
	margin: 0;
	font-size: 0.56rem;
	line-height: 1.15;
}

.fet-portal .fet-event-filters :where(select) {
	min-height: 32px;
	margin-top: 0.2rem;
	padding: 0.25rem 1.7rem 0.25rem 0.55rem;
	font-size: 0.68rem;
}

.fet-portal .fet-event-filters__status {
	display: flex;
	align-items: center;
	min-height: 32px;
	margin: 0;
	padding: 0 0.2rem;
	color: var(--fet-muted);
	font-size: 0.62rem;
	font-weight: 700;
	white-space: nowrap;
}

.fet-portal .fet-event-section[hidden] {
	display: none;
}

@media (min-width: 768px) {
	.fet-portal .fet-filter {
		grid-template-columns: minmax(15rem, 2fr) repeat(2, minmax(8rem, 1fr)) auto;
	}
}

@media (max-width: 767px) {
	.fet-portal .fet-event-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.45rem 0.55rem;
	}

	.fet-portal .fet-event-filters__status {
		align-self: end;
	}
}

/* Compact disclosures shared by SSR sections and AJAX modal panels. */
:where(.fet-portal, .fetp-modal) :is(.fet-collapsible, .fet-detail-disclosure) > summary {
	list-style: none;
}

:where(.fet-portal, .fetp-modal) :is(.fet-collapsible, .fet-detail-disclosure) > summary::-webkit-details-marker {
	display: none;
}

:where(.fet-portal, .fetp-modal) :is(.fet-event-section__header, .fet-detail-disclosure__summary) {
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease;
}

:where(.fet-portal, .fetp-modal) :is(.fet-event-section__header, .fet-detail-disclosure__summary):hover {
	background: #eef5fc;
}

:where(.fet-portal, .fetp-modal) :is(.fet-event-section__header, .fet-detail-disclosure__summary):focus-visible {
	outline: 2px solid var(--fet-teal);
	outline-offset: -2px;
}

:where(.fet-portal, .fetp-modal) .fet-event-section__actions {
	display: flex;
	flex: 0 0 auto;
	gap: 0.4rem;
	align-items: center;
	justify-content: flex-end;
}

:where(.fet-portal, .fetp-modal) .fet-collapse-control {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.48rem;
	border: 1px solid #9bbfe3;
	border-radius: 2px;
	background: #ffffff;
	color: var(--fet-navy);
	font-size: 0.61rem;
	font-weight: 700;
	line-height: 1;
}

:where(.fet-portal, .fetp-modal) .fet-collapse-control > span:last-child {
	position: relative;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentcolor;
	border-bottom: 2px solid currentcolor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 160ms ease;
}

:where(.fet-portal, .fetp-modal) details[open] > summary .fet-collapse-control > span:last-child {
	transform: translateY(2px) rotate(225deg);
}

:where(.fet-portal, .fetp-modal) .fet-collapse-control__hide,
:where(.fet-portal, .fetp-modal) details[open] > summary .fet-collapse-control__show {
	display: none;
}

:where(.fet-portal, .fetp-modal) details[open] > summary .fet-collapse-control__hide {
	display: inline;
}

:where(.fet-portal, .fetp-modal) .fet-event-section[open] > .fet-event-section__header {
	border-bottom-color: var(--fet-line);
	background: #f7f9fc;
}

:where(.fet-portal, .fetp-modal) :is(.fet-event-stack, .fet-order-stack) {
	gap: 0.55rem;
}

:where(.fet-portal, .fetp-modal) .fet-event-section__header {
	min-height: 64px;
	padding: 0.58rem 0.7rem;
}

:where(.fet-portal, .fetp-modal) .fet-event-section__header .fet-publication {
	margin-top: 0.18rem;
}

/* Factsheet operational blocks. */
:where(.fet-portal, .fetp-modal) .fet-detail-block {
	overflow: hidden;
	margin-top: 0.75rem;
	padding-top: 0;
	border: 1px solid var(--fet-line);
	border-top: 3px solid var(--fet-navy);
	border-radius: 2px;
	background: var(--fet-surface);
	box-shadow: var(--fet-shadow-soft);
}

:where(.fet-portal, .fetp-modal) .fet-detail-block--staff,
:where(.fet-portal, .fetp-modal) .fet-detail-block--notes,
:where(.fet-portal, .fetp-modal) .fet-detail-disclosure {
	border-top-color: var(--fet-teal);
}

:where(.fet-portal, .fetp-modal) .fet-detail-block--documents {
	border-top-color: var(--fet-yellow);
}

:where(.fet-portal, .fetp-modal) .fet-detail-heading,
:where(.fet-portal, .fetp-modal) .fet-detail-disclosure__summary {
	display: flex;
	min-height: 54px;
	align-items: center;
	justify-content: space-between;
	gap: 0.7rem;
	padding: 0.58rem 0.75rem;
	border-bottom: 1px solid var(--fet-line);
	background: #f7f9fc;
}

:where(.fet-portal, .fetp-modal) :is(.fet-detail-heading, .fet-detail-disclosure__summary) :is(.fet-kicker, h3) {
	margin-bottom: 0;
}

:where(.fet-portal, .fetp-modal) :is(.fet-detail-heading, .fet-detail-disclosure__summary) h3 {
	font-size: 0.86rem;
}

:where(.fet-portal, .fetp-modal) .fet-timeline-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
	gap: 0.45rem;
	margin: 0;
	padding: 0.65rem;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-timeline-list > div {
	position: relative;
	display: block;
	min-width: 0;
	padding: 0.58rem 0.65rem 0.58rem 0.8rem;
	border: 1px solid var(--fet-line);
	border-radius: 2px;
	background: #ffffff;
}

:where(.fet-portal, .fetp-modal) .fet-timeline-list > div::before {
	position: absolute;
	top: 0.5rem;
	bottom: 0.5rem;
	left: 0;
	width: 3px;
	background: var(--fet-yellow);
	content: "";
}

:where(.fet-portal, .fetp-modal) .fet-timeline-list dt {
	color: var(--fet-muted);
	font-size: 0.57rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-timeline-list dd {
	margin-top: 0.18rem;
	color: var(--fet-ink);
	font-size: 0.69rem;
	font-weight: 700;
}

:where(.fet-portal, .fetp-modal) .fet-contact-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
	gap: 0.45rem;
	padding: 0.65rem;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-contact-card {
	padding: 0.58rem 0.65rem;
	border-left: 3px solid var(--fet-teal);
	box-shadow: none;
}

:where(.fet-portal, .fetp-modal) .fet-contact-card:hover {
	border-color: var(--fet-line);
	border-left-color: var(--fet-teal);
	transform: none;
}

:where(.fet-portal, .fetp-modal) .fet-contact-card > span {
	margin-bottom: 0.12rem;
	font-size: 0.56rem;
}

:where(.fet-portal, .fetp-modal) .fet-contact-card strong {
	color: var(--fet-ink);
	font-size: 0.72rem;
}

:where(.fet-portal, .fetp-modal) .fet-contact-card a {
	margin-top: 0.15rem;
	font-size: 0.62rem;
	font-weight: 600;
}

:where(.fet-portal, .fetp-modal) .fet-detail-disclosure__summary {
	border-bottom: 0;
}

:where(.fet-portal, .fetp-modal) .fet-detail-disclosure[open] > .fet-detail-disclosure__summary {
	border-bottom: 1px solid var(--fet-line);
}

:where(.fet-portal, .fetp-modal) .fet-event-grid--compact {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
	gap: 0.45rem;
	padding: 0.65rem;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-event-grid--compact .fet-event-card {
	padding: 0.58rem 0.65rem;
	border-left: 3px solid var(--fet-navy);
	box-shadow: none;
}

:where(.fet-portal, .fetp-modal) .fet-event-grid--compact .fet-event-card:hover {
	border-color: var(--fet-line);
	border-left-color: var(--fet-navy);
	transform: none;
}

:where(.fet-portal, .fetp-modal) .fet-event-grid--compact .fet-event-card h4 {
	margin-bottom: 0.35rem;
	font-size: 0.75rem;
}

:where(.fet-portal, .fetp-modal) .fet-event-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

:where(.fet-portal, .fetp-modal) .fet-event-card__meta span {
	padding: 0.18rem 0.32rem;
	border: 1px solid var(--fet-line);
	border-radius: 2px;
	background: #f7f9fc;
	color: #64758b;
	font-size: 0.55rem;
	font-weight: 700;
}

:where(.fet-portal, .fetp-modal) .fet-document-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	gap: 0.45rem;
	padding: 0.65rem;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-document-links a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	min-height: 48px;
	align-items: center;
	gap: 0.55rem;
	padding: 0.48rem 0.55rem;
	border-color: var(--fet-line);
	background: #ffffff;
	text-decoration: none;
}

:where(.fet-portal, .fetp-modal) .fet-document-links a:hover {
	border-color: #9bbfe3;
	background: #eef5fc;
	color: var(--fet-navy);
}

:where(.fet-portal, .fetp-modal) .fet-document-links a > span:nth-child(2) :is(strong, small) {
	display: block;
}

:where(.fet-portal, .fetp-modal) .fet-document-links a strong {
	color: var(--fet-ink);
	font-size: 0.66rem;
}

:where(.fet-portal, .fetp-modal) .fet-document-links a small {
	margin-top: 0.08rem;
	color: var(--fet-muted);
	font-size: 0.55rem;
	font-weight: 500;
}

:where(.fet-portal, .fetp-modal) .fet-document-links__mark {
	display: inline-grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 2px;
	background: var(--fet-navy);
	color: #ffffff;
	font-size: 0.5rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

:where(.fet-portal, .fetp-modal) .fet-note-list {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
	gap: 0.45rem;
	padding: 0.65rem;
	background: var(--fet-paper);
}

:where(.fet-portal, .fetp-modal) .fet-note-list > div {
	padding: 0.58rem 0.65rem;
	border: 1px solid var(--fet-line);
	border-left: 3px solid var(--fet-teal);
	border-radius: 2px;
	background: #ffffff;
}

:where(.fet-portal, .fetp-modal) .fet-note-list h4 {
	margin-bottom: 0.18rem;
	font-size: 0.66rem;
}

:where(.fet-portal, .fetp-modal) .fet-note-list p {
	color: #64758b;
	font-size: 0.62rem;
	line-height: 1.5;
}

@media (max-width: 575px) {
	:where(.fet-portal, .fetp-modal) .fet-event-section__header {
		min-height: 0;
		align-items: flex-start;
	}

	:where(.fet-portal, .fetp-modal) .fet-event-section__actions {
		flex-direction: column;
		align-items: flex-end;
	}

	:where(.fet-portal, .fetp-modal) .fet-collapse-control {
		min-height: 26px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fet-portal *,
	.fet-portal *::before,
	.fet-portal *::after,
	.fetp-modal *,
	.fetp-modal *::before,
	.fetp-modal *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	:where(.fet-portal, .fetp-modal) .fet-loading__spinner {
		animation: none;
	}
}

/* SISFET public skin: mirrors the compact tournament control center. */
.fet-portal,
.fetp-modal {
	font-size: 0.8rem;
	line-height: 1.5;
}

.fet-portal {
	--fet-gutter: clamp(0.8rem, 2cqi, 1.2rem);
	margin-block: 1rem;
	padding: var(--fet-gutter);
	border-radius: 2px;
	background: var(--fet-paper);
	box-shadow: var(--fet-shadow-soft);
}

.fet-portal :where(h2, h3, h4),
.fetp-modal :where(h2, h3, h4) {
	color: var(--fet-ink);
	font-family: var(--fet-display);
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.fet-portal h2,
.fetp-modal h2 {
	font-size: clamp(1.15rem, 3cqi, 1.75rem);
}

.fet-portal h3,
.fetp-modal h3 {
	font-size: clamp(0.9rem, 2cqi, 1.1rem);
}

.fet-portal h4,
.fetp-modal h4 {
	font-size: 0.85rem;
}

.fet-portal a,
.fetp-modal a {
	color: var(--fet-navy);
}

.fet-portal a:hover,
.fetp-modal a:hover {
	color: var(--fet-teal);
}

.fet-portal :where(a, button, input, select):focus-visible,
.fetp-modal :where(a, button, [tabindex]):focus-visible {
	outline: 2px solid var(--fet-teal);
	outline-offset: 2px;
}

:where(.fet-portal, .fetp-modal) .fet-kicker {
	gap: 0.4rem;
	margin-bottom: 0.2rem;
	color: var(--fet-teal);
	font-size: 0.61rem;
	letter-spacing: 0.1em;
}

:where(.fet-portal, .fetp-modal) .fet-kicker::before {
	width: 0.42rem;
	height: 0.42rem;
	border-radius: 1px;
	background: var(--fet-yellow);
	box-shadow: none;
}

.fet-portal .fet-portal__header {
	min-height: 0;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	margin: calc(var(--fet-gutter) * -1) calc(var(--fet-gutter) * -1) 1rem;
	padding: 0.7rem clamp(0.8rem, 2.5vw, 1.8rem);
	border-radius: 3px 3px 20px 3px;
	box-shadow: var(--fet-shadow);
}

.fet-portal .fet-portal__header::after {
	top: auto;
	right: 0;
	bottom: 0;
	width: 33%;
	height: 5px;
	aspect-ratio: auto;
	border: 0;
	background: linear-gradient(90deg, transparent, var(--fet-yellow));
	opacity: 1;
	transform: none;
}

.fet-portal .fet-portal__header :is(h2, .fet-kicker),
.fet-portal .fet-detail-header :is(h2, .fet-kicker) {
	color: #ffffff;
}

.fet-portal .fet-portal__header .fet-kicker {
	color: rgb(255 255 255 / 62%);
}

.fet-portal .fet-portal__header > p {
	max-width: 27rem;
	color: rgb(255 255 255 / 70%);
	font-size: 0.66rem;
	text-align: right;
}

.fet-portal .fet-back-link {
	font-size: 0.64rem;
}

:where(.fet-portal, .fetp-modal) .fet-kind,
:where(.fet-portal, .fetp-modal) .fet-publication {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	width: fit-content;
	padding: 0.18rem 0.38rem;
	border: 1px solid #b9d3ed;
	border-radius: 2px;
	background: #dcecff;
	color: var(--fet-navy);
	font-size: 0.56rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

:where(.fet-portal, .fetp-modal) .fet-kind--open {
	border-color: #bfe7e1;
	background: #d8f4ef;
	color: #087f7c;
}

.fet-portal .fet-portal__header .fet-kind {
	margin-top: 0.3rem;
}

.fet-portal :is(.fet-filter, .fet-search-form) {
	margin-bottom: 1rem;
	padding: 0.8rem 1rem;
	border-top: 3px solid var(--fet-teal);
	border-radius: 2px;
	background: var(--fet-surface);
	box-shadow: var(--fet-shadow-soft);
}

.fet-portal .fet-filter {
	gap: 0.7rem 0.9rem;
}

.fet-portal :is(.fet-field label, .fet-search-form label) {
	margin-bottom: 0.32rem;
	color: #64758b;
	font-size: 0.61rem;
	letter-spacing: 0.07em;
}

.fet-portal :where(input, select, button) {
	min-height: 37px;
	border-radius: 2px;
	font-size: 0.76rem;
}

.fet-portal :where(input, select) {
	border-color: #d8e1ec;
	background: var(--fet-surface);
}

.fet-portal :where(input, select):focus {
	border-color: var(--fet-teal);
	box-shadow: 0 0 0 0.2rem rgb(14 165 163 / 12%);
}

.fet-portal .fet-button {
	min-height: 37px;
	padding: 0.45rem 0.78rem;
	border-color: var(--fet-navy);
	border-radius: 2px;
	background: var(--fet-navy);
	font-size: 0.72rem;
	font-weight: 700;
	box-shadow: none;
}

.fet-portal .fet-button::after {
	content: none;
}

.fet-portal .fet-button:hover {
	border-color: #0455ae;
	background: #0455ae;
	box-shadow: none;
	transform: none;
}

.fet-portal :is(.fet-help, .fet-results-count) {
	font-size: 0.68rem;
}

.fet-portal .fet-tournament-table-wrap,
.fet-portal .fet-player-list,
.fet-portal .fet-profile-block,
.fet-portal .fet-tournament-card,
.fet-portal .fet-ssr-section,
:where(.fet-portal, .fetp-modal) :is(.fet-event-section, .fet-contact-card, .fet-event-card, .fet-match-card, .fet-order-day, .fet-group-card, .fet-draw-match, .fet-structure-stage, .fet-draw-phase) {
	border-radius: 2px;
	background: var(--fet-surface);
	box-shadow: var(--fet-shadow-soft);
}

.fet-portal .fet-tournament-table-wrap,
.fet-portal .fet-player-list,
.fet-portal .fet-profile-block {
	border-radius: 2px;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) {
	background: var(--fet-surface);
	font-size: 0.75rem;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) thead {
	background: #f7f9fc;
	color: var(--fet-muted);
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) :where(th, td) {
	padding: 0.62rem 0.75rem;
	border-bottom-color: #edf1f6;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) thead th {
	color: #6d7d94;
	font-size: 0.61rem;
	letter-spacing: 0.07em;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) tbody tr:nth-child(even) {
	background: #fbfcfe;
}

:where(.fet-portal, .fetp-modal) :is(.fet-tournament-table, .fet-entry-table, .fet-profile-results-table) tbody tr:hover {
	background: #f3f8ff;
}

.fet-portal .fet-tournament-table tbody tr {
	box-shadow: inset 3px 0 var(--fet-navy);
}

.fet-portal .fet-tournament-table tbody tr.fet-tournament-row--open {
	box-shadow: inset 3px 0 var(--fet-teal);
}

.fet-portal .fet-tournament-name {
	color: var(--fet-ink);
	font-family: var(--fet-body);
	font-size: 0.8rem;
}

:where(.fet-portal, .fetp-modal) :is(.fet-status-chip, .fet-count, .fet-match-card__flags span, .fet-result-label, .fet-order-status) {
	padding: 0.26rem 0.48rem;
	border-color: var(--fet-line);
	border-radius: 2px;
	background: #f7f9fc;
	font-size: 0.59rem;
}

.fet-portal .fet-detail-link,
:where(.fet-portal, .fetp-modal) .fet-document-links a {
	min-height: 30px;
	padding: 0.35rem 0.58rem;
	border-color: #9bbfe3;
	border-radius: 2px;
	background: transparent;
	color: var(--fet-navy);
	font-size: 0.67rem;
}

.fet-portal .fet-detail-link:hover,
:where(.fet-portal, .fetp-modal) .fet-document-links a:hover {
	border-color: var(--fet-navy);
	background: var(--fet-navy);
	color: #ffffff;
	transform: none;
}

.fet-portal .fet-tournament-card {
	padding: 0.9rem;
	border-left: 3px solid var(--fet-navy);
}

.fet-portal .fet-tournament-card--open {
	border-left-color: var(--fet-teal);
}

.fet-portal .fet-tournament-card:hover {
	border-color: var(--fet-line);
	border-left-color: var(--fet-navy);
	box-shadow: var(--fet-shadow-soft);
	transform: none;
}

.fet-portal .fet-tournament-card--open:hover {
	border-left-color: var(--fet-teal);
}

.fet-portal .fet-tournament-card__date {
	margin: -0.9rem -0.9rem 0.8rem;
	padding: 0.55rem 0.8rem;
	border-top: 3px solid var(--fet-yellow);
	border-radius: 0;
}

.fet-portal .fet-tournament-card h3 {
	font-size: 0.95rem;
}

.fet-portal .fet-pagination > :where(a, span[aria-current]) {
	min-width: 30px;
	height: 30px;
	border-radius: 2px;
	background: var(--fet-surface);
}

:where(.fet-portal, .fetp-modal) :is(.fet-notice, .fet-empty, .fet-search-prompt) {
	padding: 0.72rem 0.8rem;
	border-left: 3px solid var(--fet-teal);
	border-radius: 2px;
	background: var(--fet-surface);
	font-size: 0.7rem;
}

.fet-portal .fet-detail-nav {
	flex-wrap: nowrap;
	gap: 0.3rem;
	margin-bottom: 0.8rem;
	padding: 0.45rem;
	overflow-x: auto;
	border-radius: 2px;
	background: var(--fet-navy);
}

.fet-portal .fet-detail-nav a {
	flex: 0 0 auto;
	padding: 0.38rem 0.58rem;
	border-color: rgb(255 255 255 / 15%);
	border-radius: 2px;
	background: rgb(255 255 255 / 6%);
	color: rgb(255 255 255 / 74%);
	font-size: 0.62rem;
}

.fet-portal .fet-detail-nav a:hover,
.fet-portal .fet-detail-nav a[aria-selected="true"] {
	border-color: #ffffff;
	background: #ffffff;
	color: var(--fet-navy);
	box-shadow: inset 3px 0 var(--fet-yellow);
}

.fet-portal .fet-detail-nav a:focus-visible {
	outline: 2px solid var(--fet-yellow);
	outline-offset: 2px;
}

.fet-portal.fet-page-tabs--ready .fet-ssr-section:not([hidden]) {
	animation: fet-tab-panel-in 180ms ease-out;
}

@keyframes fet-tab-panel-in {
	from {
		opacity: 0;
		transform: translateY(4px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fet-portal.fet-page-tabs--ready .fet-ssr-section:not([hidden]) {
		animation: none;
	}
}

.fet-portal .fet-ssr-section {
	margin-top: 0.8rem;
	padding: 0;
	overflow: hidden;
	border-top: 3px solid var(--fet-navy);
}

.fet-portal .fet-ssr-section > h3:first-child {
	margin: 0;
	padding: 0.7rem 1rem;
	border-bottom-color: #edf1f6;
	background: var(--fet-surface);
}

.fet-portal .fet-ssr-section > :not(h3) {
	margin-right: 0.8rem;
	margin-left: 0.8rem;
}

.fet-portal .fet-ssr-section > :last-child {
	margin-bottom: 0.8rem;
}

:where(.fet-portal, .fetp-modal) .fet-score-dates {
	margin-top: 0.8rem;
	border-radius: 2px;
	background: var(--fet-yellow);
	box-shadow: var(--fet-shadow-soft);
}

:where(.fet-portal, .fetp-modal) .fet-score-dates__item {
	padding: 0.7rem 0.8rem;
}

:where(.fet-portal, .fetp-modal) .fet-score-dates__divider {
	background: rgb(255 255 255 / 18%);
}

:where(.fet-portal, .fetp-modal) .fet-fact-grid {
	border-radius: 2px;
	background: var(--fet-surface);
}

:where(.fet-portal, .fetp-modal) .fet-fact-grid > div {
	padding: 0.72rem;
	background: var(--fet-surface);
}

:where(.fet-portal, .fetp-modal) .fet-detail-block {
	margin-top: 1rem;
	padding-top: 0.8rem;
}

:where(.fet-portal, .fetp-modal) :is(.fet-event-section__header, .fet-section-heading) {
	padding: 0.7rem 1rem;
	background: #f7f9fc;
}

:where(.fet-portal, .fetp-modal) .fet-publication {
	margin-top: 0.25rem;
	border-color: #bfe7e1;
	background: #effaf8;
	color: #087f7c;
}

:where(.fet-portal, .fetp-modal) .fet-order-days,
:where(.fet-portal, .fetp-modal) .fet-match-list {
	padding: 0.8rem;
}

:where(.fet-portal, .fetp-modal) .fet-order-table :is(th, td) {
	padding: 0.62rem 0.75rem;
}

:where(.fet-portal, .fetp-modal) .fet-match-card > header {
	padding: 0.62rem 0.75rem;
	background: #f7f9fc;
	font-size: 0.65rem;
}

:where(.fet-portal, .fetp-modal) .fet-match-team {
	min-height: 2.7rem;
	padding: 0.55rem 0.7rem;
}

:where(.fet-portal, .fetp-modal) .fet-match-score {
	min-width: 8rem;
	padding: 0.65rem;
}

.fet-portal .fet-player-list li {
	padding: 0.68rem 0.8rem;
}

.fet-portal .fet-player-list__mark,
.fet-portal :is(.fet-profile-identity img, .fet-profile-monogram) {
	border-radius: 2px;
}

.fet-portal .fet-player-list__mark {
	width: 32px;
	height: 32px;
	background: #eef5fc;
	color: var(--fet-navy);
}

.fet-portal .fet-search-prompt::before {
	border-radius: 2px;
	background: #e7f7f5;
}

.fet-portal .fet-profile-hero {
	margin-bottom: 0.9rem;
	padding: 0.85rem 1rem;
	border-top: 0;
	border-radius: 3px 3px 20px 3px;
	box-shadow: var(--fet-shadow);
}

.fet-portal .fet-profile-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 33%;
	height: 5px;
	background: linear-gradient(90deg, transparent, var(--fet-yellow));
	content: "";
}

.fet-portal :is(.fet-profile-identity img, .fet-profile-monogram) {
	width: clamp(4rem, 12cqi, 5.5rem);
	height: clamp(4rem, 12cqi, 5.5rem);
	border: 2px solid #ffffff;
	box-shadow: 0 0 0 2px var(--fet-yellow);
}

.fet-portal .fet-profile-monogram {
	background: var(--fet-teal);
	font-size: 1.5rem;
}

.fet-portal .fet-profile-rankings {
	gap: 0.35rem;
}

.fet-portal .fet-ranking-score {
	padding: 0.65rem;
	border-radius: 2px;
	background: #03356f;
}

.fet-portal .fet-ranking-score > strong {
	color: var(--fet-yellow);
	font-size: clamp(1.5rem, 5cqi, 2.3rem);
}

.fet-portal .fet-profile-block {
	margin-top: 0.85rem;
	border-top: 3px solid var(--fet-teal);
}

.fet-portal .fet-stat-card {
	padding: 0.85rem;
	background: var(--fet-surface);
}

.fet-portal .fet-stat-card > strong {
	color: var(--fet-teal);
	font-size: 1.6rem;
}

.fet-portal .fet-profile-list li {
	padding: 0.68rem 0.8rem;
}

.fetp-modal .fetp-modal__backdrop {
	background: rgb(23 43 77 / 78%);
	backdrop-filter: blur(3px);
}

.fetp-modal .fetp-modal__dialog {
	border-color: var(--fet-line);
	border-radius: 3px;
	background: var(--fet-paper);
	box-shadow: 0 18px 45px rgb(23 43 77 / 24%);
}

.fetp-modal .fetp-modal__header {
	padding: 0.8rem 1rem;
	border-radius: 3px 3px 20px 3px;
}

.fetp-modal .fetp-modal__header h2 {
	font-size: clamp(1.05rem, 3vw, 1.4rem);
}

.fetp-modal .fetp-modal__close {
	width: 30px;
	height: 30px;
	border-radius: 2px;
	font-size: 1.25rem;
}

.fetp-modal .fetp-modal__tabs {
	background: var(--fet-navy);
}

.fetp-modal .fetp-modal__tabs button {
	min-height: 38px;
	padding: 0.45rem 0.7rem;
	border-color: rgb(255 255 255 / 12%);
	background: var(--fet-navy);
	color: rgb(255 255 255 / 66%);
	font-size: 0.62rem;
}

.fetp-modal .fetp-modal__tabs button[aria-selected="true"] {
	background: #ffffff;
	color: var(--fet-navy);
}

.fetp-modal .fetp-modal__tabs button[aria-selected="true"]::after {
	height: 3px;
	background: var(--fet-yellow);
}

.fetp-modal .fetp-modal__panel {
	padding: 0.8rem;
}

@media (max-width: 575px) {
	.fet-portal {
		--fet-gutter: 0.75rem;
		margin-block: 0.75rem;
		border-radius: 2px;
	}

	.fet-portal .fet-portal__header {
		min-height: 0;
		grid-template-columns: 1fr;
		padding: 0.7rem 0.8rem;
		border-radius: 3px 3px 18px 3px;
	}

	.fet-portal .fet-portal__header > p {
		max-width: none;
		text-align: left;
	}

	.fet-portal .fet-filter__actions {
		display: grid;
	}

	.fet-portal .fet-profile-hero {
		padding: 0.8rem;
		border-radius: 3px 3px 18px 3px;
	}

	.fet-portal .fet-detail-nav {
		margin-right: -0.25rem;
		margin-left: -0.25rem;
	}

	.fetp-modal .fetp-modal__dialog {
		border-radius: 0;
	}

	.fetp-modal .fetp-modal__header {
		border-radius: 0 0 18px 0;
	}
}
