body.fac-fighters-page {
	background-color: #0b0b0b !important;
	background-image: linear-gradient(rgb(0 0 0 / 38%), rgb(0 0 0 / 58%)), var(--fac-fighter-bg) !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-attachment: fixed !important;
	color: var(--fac-fighter-text, #fff);
}

body.fac-fighters-page:not(.single-fac_fighter) main.site-main > .page-header {
	display: none;
}

.fac-fighter-create,
.fac-fighter-directory,
.fac-fighter-single-main {
	box-sizing: border-box;
	width: min(100% - 28px, 1320px);
	margin: clamp(34px, 6vw, 86px) auto;
	color: var(--fac-fighter-text, #fff);
}

.fac-fighter-create *, .fac-fighter-create *::before, .fac-fighter-create *::after,
.fac-fighter-directory *, .fac-fighter-directory *::before, .fac-fighter-directory *::after,
.fac-fighter-profile *, .fac-fighter-profile *::before, .fac-fighter-profile *::after { box-sizing: border-box; }

.fac-fighter-create__intro,
.fac-fighter-directory__intro,
.fac-fighter-create--success {
	max-width: 900px;
	margin: 0 auto 22px;
	padding: clamp(24px, 5vw, 48px);
	border: 1px solid color-mix(in srgb, var(--fac-fighter-accent, #d4af37) 58%, transparent);
	background: color-mix(in srgb, var(--fac-fighter-panel, #111) 94%, transparent);
	box-shadow: 0 18px 46px rgb(0 0 0 / 45%);
	text-align: center;
	backdrop-filter: blur(4px);
}

.fac-fighter-kicker {
	margin: 0 0 8px !important;
	color: var(--fac-fighter-accent, #d4af37) !important;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .15em;
	line-height: 1.3;
	text-transform: uppercase;
}

.fac-fighter-create h1,
.fac-fighter-directory h1,
.fac-fighter-profile h1,
.fac-fighter-profile h2,
.fac-fighter-card h2 {
	color: var(--fac-fighter-accent, #d4af37) !important;
	font-family: Georgia, "Times New Roman", serif;
}

.fac-fighter-create h1,
.fac-fighter-directory h1,
.fac-fighter-profile h1 {
	margin: 0 0 12px;
	font-size: clamp(2.25rem, 5vw, 4.9rem);
	line-height: 1.02;
}

.fac-fighter-create__intro > p:last-child,
.fac-fighter-directory__intro > p:last-child,
.fac-fighter-create--success > p {
	max-width: 720px;
	margin: 0 auto;
	font-size: 1.04rem;
	line-height: 1.7;
}

.fac-fighter-notice {
	max-width: 900px;
	margin: 0 auto 16px;
	padding: 13px 16px;
	border: 1px solid #639f6b;
	background: rgb(19 77 27 / 88%);
}
.fac-fighter-notice.is-error { border-color: #d36b6b; background: rgb(101 18 18 / 92%); }

.fac-fighter-form {
	max-width: 1060px;
	margin: 0 auto;
	padding: clamp(22px, 5vw, 44px);
	border: 1px solid color-mix(in srgb, var(--fac-fighter-accent, #d4af37) 48%, transparent);
	background: color-mix(in srgb, var(--fac-fighter-panel, #111) 96%, transparent);
	box-shadow: 0 18px 46px rgb(0 0 0 / 45%);
	backdrop-filter: blur(4px);
}

.fac-fighter-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.fac-fighter-form__grid label { display: grid; align-content: start; gap: 7px; color: var(--fac-fighter-text, #fff); font-weight: 700; }
.fac-fighter-form__grid label.wide { grid-column: 1 / -1; }
.fac-fighter-form__grid input,
.fac-fighter-form__grid select,
.fac-fighter-form__grid textarea {
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid rgb(255 255 255 / 25%);
	border-radius: 0;
	background: #090909 !important;
	color: #fff !important;
	font: inherit;
}
.fac-fighter-form__grid textarea { resize: vertical; }
.fac-fighter-form__grid input:focus,
.fac-fighter-form__grid select:focus,
.fac-fighter-form__grid textarea:focus { border-color: var(--fac-fighter-accent, #d4af37); outline: 2px solid color-mix(in srgb, var(--fac-fighter-accent, #d4af37) 35%, transparent); outline-offset: 1px; }
.fac-fighter-form__grid small,
.fac-fighter-form__note { color: color-mix(in srgb, var(--fac-fighter-text, #fff) 68%, transparent); font-size: .78rem; font-weight: 400; }

.fac-fighter-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.fac-fighter-portrait-preview { min-height: 180px; display: grid; place-items: center; border: 1px dashed rgb(255 255 255 / 25%); color: rgb(255 255 255 / 55%); background: #080808; }
.fac-fighter-portrait-preview img { width: 100%; height: 230px; object-fit: contain; }
.fac-fighter-portrait-preview.has-image span { display: none; }

.fac-fighter-attributes { margin: 28px 0 20px; padding: 18px; border: 1px solid rgb(255 255 255 / 16%); }
.fac-fighter-attributes legend { padding: 0 8px; color: var(--fac-fighter-accent, #d4af37); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 700; }
.fac-fighter-attributes legend small { color: rgb(255 255 255 / 65%); font-family: inherit; font-size: .72rem; font-weight: 400; }
.fac-fighter-attributes > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.fac-fighter-attributes label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; align-items: center; font-size: .84rem; font-weight: 700; }
.fac-fighter-attributes input { grid-column: 1 / -1; accent-color: var(--fac-fighter-accent, #d4af37); }
.fac-fighter-attributes output { color: var(--fac-fighter-accent, #d4af37); }
.fac-fighter-consent { display: flex; gap: 11px; align-items: flex-start; margin: 20px 0; line-height: 1.55; }
.fac-fighter-consent input { flex: 0 0 auto; margin-top: 5px; accent-color: var(--fac-fighter-accent, #d4af37); }

.fac-fighter-submit,
.fac-fighter-link,
.fac-fighter-directory__filters button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 17px;
	border: 1px solid var(--fac-fighter-accent, #d4af37) !important;
	border-radius: 0 !important;
	background: var(--fac-fighter-accent, #d4af37) !important;
	color: #111 !important;
	font: inherit;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.2;
	text-decoration: none !important;
	text-transform: uppercase;
	cursor: pointer;
}
.fac-fighter-submit:hover, .fac-fighter-submit:focus-visible,
.fac-fighter-link:hover, .fac-fighter-link:focus-visible { filter: brightness(1.12); transform: translateY(-1px); }

.fac-fighter-directory__filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin: 0 0 20px; padding: 12px; border: 1px solid rgb(255 255 255 / 13%); background: color-mix(in srgb, var(--fac-fighter-panel, #111) 94%, transparent); }
.fac-fighter-directory__filters button { background: #0b0b0b !important; color: var(--fac-fighter-accent, #d4af37) !important; }
.fac-fighter-directory__filters button:hover,
.fac-fighter-directory__filters button:focus-visible,
.fac-fighter-directory__filters button.is-active { background: var(--fac-fighter-accent, #d4af37) !important; color: #111 !important; }
.fac-fighter-directory__results.htmx-swapping { opacity: .35; }
.fac-fighter-directory__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }

.fac-fighter-card { min-width: 0; display: grid; grid-template-rows: auto 1fr; border: 1px solid color-mix(in srgb, var(--fac-fighter-accent, #d4af37) 42%, transparent); background: color-mix(in srgb, var(--fac-fighter-panel, #111) 96%, transparent); box-shadow: 0 14px 35px rgb(0 0 0 / 38%); overflow: hidden; }
.fac-fighter-card__portrait { display: block; min-height: 310px; padding: 18px; background: rgb(255 255 255 / 95%); }
.fac-fighter-card__portrait .fac-fighter-portrait { height: 100%; }
.fac-fighter-card__portrait img { width: 100%; height: 310px; object-fit: contain; }
.fac-fighter-card__copy { display: flex; flex-direction: column; align-items: flex-start; padding: 22px; }
.fac-fighter-card h2 { margin: 0 0 5px; font-size: 1.65rem; line-height: 1.08; }
.fac-fighter-card h2 a { color: inherit !important; text-decoration: none; }
.fac-fighter-card__copy > p:not(.fac-fighter-kicker):not(.fac-fighter-epithet) { flex: 1; line-height: 1.6; }
.fac-fighter-epithet { margin: 0 0 13px !important; color: rgb(255 255 255 / 75%); font-weight: 700; }
.fac-fighter-empty { margin: 0; padding: 38px; border: 1px solid rgb(255 255 255 / 16%); background: color-mix(in srgb, var(--fac-fighter-panel, #111) 96%, transparent); text-align: center; }

.fac-fighter-profile { width: 100%; }
.fac-fighter-profile--realm {
	--fac-fighter-accent: var(--fac-profile-primary, #d4af37);
	color: var(--fac-profile-copy, #fff);
}
.fac-fighter-profile__hero { display: grid; grid-template-columns: minmax(220px, 36%) minmax(0, 1fr); gap: clamp(24px, 5vw, 60px); align-items: center; padding: clamp(26px, 5vw, 58px); border: 1px solid color-mix(in srgb, var(--fac-fighter-accent, #d4af37) 55%, transparent); background: color-mix(in srgb, var(--fac-fighter-panel, #111) 96%, transparent); box-shadow: 0 18px 46px rgb(0 0 0 / 45%); }
.fac-fighter-profile--realm .fac-fighter-profile__hero {
	background-image: linear-gradient(90deg, rgb(0 0 0 / 68%), rgb(0 0 0 / 80%)), var(--fac-profile-background);
	background-size: cover;
	background-position: center;
}
.fac-profile-bg--castle-dusk .fac-fighter-profile__hero { background-image: radial-gradient(circle at 70% 20%, #5a321f, #111 70%); }
.fac-profile-bg--forest-watch .fac-fighter-profile__hero { background-image: radial-gradient(circle at 70% 20%, #24452f, #0c120e 70%); }
.fac-profile-bg--royal-hall .fac-fighter-profile__hero { background-image: radial-gradient(circle at 70% 20%, #3b2b64, #111 70%); }
.fac-profile-bg--ink-smoke .fac-fighter-profile__hero { background-image: radial-gradient(circle at 70% 20%, #3b3f46, #0c0d10 70%); }
.fac-fighter-profile blockquote { margin: 20px 0 0; padding: 0 0 0 18px; border-left: 3px solid var(--fac-fighter-accent, #d4af37); color: rgb(255 255 255 / 82%); font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-style: italic; }
.fac-fighter-portrait { display: grid; place-items: center; aspect-ratio: 4 / 5; padding: 18px; background: rgb(255 255 255 / 96%); overflow: hidden; }
.fac-fighter-portrait--escutcheon { clip-path: polygon(7% 0,93% 0,100% 8%,92% 77%,50% 100%,8% 77%,0 8%); }
.fac-fighter-portrait--lozenge { clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%); padding: 22%; }
.fac-fighter-portrait--cartouche { border-radius: 44% 44% 34% 34% / 22% 22% 16% 16%; }
.fac-fighter-portrait img { width: 100%; height: 100%; object-fit: cover; }
.fac-fighter-portrait > div { width: 100%; height: 100%; overflow: hidden; }
.fac-fighter-portrait--pair {
	grid-template-columns: 2fr 1fr;
	gap: 10px;
	clip-path: none;
	padding: 12px;
	border: 5px double var(--fac-profile-primary, var(--fac-fighter-accent, #d4af37));
}
.fac-fighter-portrait--pair > div:last-child { border-left: 2px solid var(--fac-profile-accent, #8c1c13); }
.fac-fighter-archetype,
.fac-fighter-contract,
.fac-fighter-verification { color: rgb(255 255 255 / 72%); }
.fac-fighter-contract { font-size: .78rem; }
.fac-fighter-contract code { color: var(--fac-profile-primary, #d4af37); }
.fac-fighter-profile__media iframe { width: 100%; max-width: 100%; }
.fac-fighter-social { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0 !important; list-style: none; }
.fac-fighter-social a { color: var(--fac-profile-primary, #d4af37); }
.fac-fighter-portrait__empty { display: grid; place-items: center; width: 100%; height: 100%; color: #111; font-family: Georgia, "Times New Roman", serif; font-size: 4rem; font-weight: 800; }
.fac-fighter-profile__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.fac-fighter-profile__panel { min-width: 0; padding: clamp(22px, 4vw, 38px); border: 1px solid color-mix(in srgb, var(--fac-fighter-accent, #d4af37) 38%, transparent); background: color-mix(in srgb, var(--fac-fighter-panel, #111) 96%, transparent); box-shadow: 0 13px 30px rgb(0 0 0 / 34%); }
.fac-fighter-profile__panel h2 { margin: 0 0 18px; font-size: 1.6rem; }
.fac-fighter-profile__panel dl { display: grid; gap: 10px; margin: 0; }
.fac-fighter-profile__panel dl > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; padding-bottom: 9px; border-bottom: 1px solid rgb(255 255 255 / 12%); }
.fac-fighter-profile__panel dt { color: var(--fac-fighter-accent, #d4af37); font-weight: 800; }
.fac-fighter-profile__panel dd { margin: 0; }
.fac-fighter-profile__panel ul { margin: 0; padding-left: 20px; }
.fac-fighter-profile__panel li { margin-bottom: 8px; }
.fac-fighter-profile__attributes > div { display: grid; grid-template-columns: 120px minmax(0, 1fr) 36px; gap: 10px; align-items: center; margin-bottom: 11px; }
.fac-fighter-profile__attributes meter { width: 100%; height: 15px; accent-color: var(--fac-fighter-accent, #d4af37); }
.fac-fighter-profile__attributes b { color: var(--fac-fighter-accent, #d4af37); text-align: right; }

@media (max-width: 960px) {
	.fac-fighter-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fac-fighter-profile__hero { grid-template-columns: minmax(180px, 36%) minmax(0, 1fr); }
}

@media (max-width: 680px) {
	body.fac-fighters-page { background-attachment: scroll !important; }
	.fac-fighter-create, .fac-fighter-directory, .fac-fighter-single-main { width: min(100% - 18px, 1320px); margin-block: 24px 38px; }
	.fac-fighter-form__grid, .fac-fighter-attributes > div, .fac-fighter-directory__grid, .fac-fighter-profile__hero, .fac-fighter-profile__grid { grid-template-columns: 1fr; }
	.fac-fighter-form__grid label.wide { grid-column: auto; }
	.fac-fighter-card__portrait, .fac-fighter-card__portrait img { min-height: 250px; height: 250px; }
	.fac-fighter-profile__hero .fac-fighter-portrait { width: min(100%, 330px); margin-inline: auto; }
	.fac-fighter-profile__panel dl > div { grid-template-columns: 1fr; gap: 3px; }
	.fac-fighter-profile__attributes > div { grid-template-columns: 105px minmax(0, 1fr) 32px; }
}

@media (prefers-reduced-motion: reduce) {
	.fac-fighter-directory__results, .fac-fighter-submit, .fac-fighter-link { transition: none !important; }
}
