/**
 * Truth Files Page System
 *
 * Structural rules only. Distinctive Page-owned visual systems remain in
 * control of their focal objects, colour, typography and interaction language.
 */

:root {
	--tf-page-gutter: clamp(14px, 3vw, 36px);
	--tf-page-reading-width: 1180px;
	--tf-page-focus: #60ffe8;
	--tf-font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
	--tf-font-ui: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tf-font-metadata: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

body.tf-page-system {
	max-width: 100%;
	overflow-x: clip;
}

.tf-page-shell {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
	overflow-x: clip;
	outline: 0;
}

.tf-page-shell *,
.tfps-search * {
	box-sizing: border-box;
}

.tf-page-shell :where(a, button, input, select, textarea):focus-visible,
.tfps-search :where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--tf-page-focus);
	outline-offset: 3px;
}

/* P0: Tripwire Convergence adjacent-file controls. */
body.page-id-8583 #tf-tripwire-convergence .route-strip.hero-route-stack {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
}

body.page-id-8583 #tf-tripwire-convergence .route-box-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	flex: 1 1 420px;
	gap: 12px !important;
	min-width: 0;
}

body.page-id-8583 #tf-tripwire-convergence .route-box {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	min-width: 0;
	min-height: 64px;
	padding: 11px 14px !important;
	border: 1px solid rgba(125, 184, 255, .34);
	background: rgba(6, 12, 18, .72);
	text-decoration: none !important;
}

body.page-id-8583 #tf-tripwire-convergence .route-box span,
body.page-id-8583 #tf-tripwire-convergence .route-box strong {
	display: block;
	white-space: normal;
	overflow-wrap: anywhere;
}

body.page-id-8583 #tf-tripwire-convergence .route-box span {
	color: rgba(244, 239, 225, .62);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.page-id-8583 #tf-tripwire-convergence .route-box strong {
	color: #f4efe1;
	font-size: 14px;
	line-height: 1.25;
}

/* P0: Evidence Standard classification data must never clip. */
body.page-id-14283 #truthfiles-page .tfp-evidence-signal,
body.page-id-14283 #truthfiles-page .tfp-signal-stack,
body.page-id-14283 #truthfiles-page .tfp-signal-row,
body.page-id-14283 #truthfiles-page .tfp-signal-copy,
body.page-id-14283 #truthfiles-page .tfp-signal-count {
	min-width: 0;
	max-width: 100%;
}

body.page-id-14283 #truthfiles-page .tfp-evidence-signal {
	overflow: visible;
}

body.page-id-14283 #truthfiles-page .tfp-signal-row {
	display: grid !important;
	grid-template-columns: 42px minmax(0, 1fr) minmax(92px, auto) !important;
	align-items: center;
	gap: 12px !important;
}

body.page-id-14283 #truthfiles-page .tfp-signal-copy {
	overflow: visible;
}

body.page-id-14283 #truthfiles-page .tfp-signal-copy p,
body.page-id-14283 #truthfiles-page .tfp-signal-count strong,
body.page-id-14283 #truthfiles-page .tfp-signal-count span {
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	overflow-wrap: anywhere;
}

body.page-id-14283 #truthfiles-page .tfp-signal-count {
	width: auto !important;
	justify-self: end;
	text-align: right;
}

body.page-id-14283 #truthfiles-page .tfp-signal-count strong {
	font-size: clamp(13px, 1.35vw, 18px) !important;
	line-height: 1.05 !important;
}

/* Explicitly typed search experience. */
.tfps-search {
	--tfps-bg: #05070a;
	--tfps-panel: #0c1118;
	--tfps-line: rgba(113, 236, 226, .24);
	--tfps-cyan: #71ece2;
	--tfps-red: #ff4b55;
	--tfps-amber: #f1b84b;
	--tfps-text: #f4efe7;
	--tfps-muted: rgba(244, 239, 231, .72);
	min-height: 72vh;
	padding: clamp(34px, 5vw, 78px) var(--tf-page-gutter);
	background:
		radial-gradient(circle at 22% 0, rgba(113, 236, 226, .12), transparent 30%),
		linear-gradient(180deg, #05070a, #080b10 42%, #05070a);
	color: var(--tfps-text);
}

.tfps-search__inner {
	width: min(1160px, 100%);
	margin: 0 auto;
}

.tfps-search__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
	gap: clamp(18px, 3vw, 34px);
	align-items: end;
	padding-bottom: clamp(24px, 3vw, 38px);
	border-bottom: 1px solid var(--tfps-line);
}

.tfps-search__eyebrow,
.tfps-search__group-head span,
.tfps-pill,
.tfps-result__meta dt,
.tfps-result__action,
.tfps-search__pagination a,
.tfps-search__pagination span {
	font-family: var(--tf-font-metadata);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.tfps-search__eyebrow {
	margin: 0 0 10px;
	color: var(--tfps-cyan);
}

.tfps-search h1 {
	margin: 0;
	color: #fff8ee;
	font-family: var(--tf-font-display);
	font-size: clamp(48px, 7vw, 88px);
	font-weight: 900;
	line-height: .9;
	text-transform: none;
}

.tfps-search__hero p:not(.tfps-search__eyebrow) {
	max-width: 760px;
	margin: 18px 0 0;
	color: var(--tfps-muted);
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.55;
}

.tfps-search__form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.tfps-search__form input {
	flex: 1 1 280px;
	min-width: 0;
	min-height: 48px;
	border: 1px solid rgba(113, 236, 226, .3);
	background: rgba(0, 0, 0, .32);
	color: var(--tfps-text);
	padding: 0 14px;
	font-size: 15px;
}

.tfps-search__form button {
	min-height: 48px;
	border: 1px solid rgba(113, 236, 226, .46);
	background: rgba(113, 236, 226, .1);
	color: var(--tfps-cyan);
	padding: 0 18px;
	font: 800 11px/1 var(--tf-font-metadata);
	letter-spacing: .13em;
	text-transform: uppercase;
	cursor: pointer;
}

.tfps-search__summary {
	padding: 21px;
	border: 1px solid var(--tfps-line);
	background: rgba(255, 255, 255, .045);
}

.tfps-search__summary span,
.tfps-search__summary small {
	display: block;
	color: var(--tfps-muted);
}

.tfps-search__summary strong {
	display: block;
	margin: 7px 0;
	color: #fff8ee;
	font: 900 52px/1 var(--tf-font-display);
}

.tfps-search__group {
	padding: clamp(34px, 5vw, 62px) 0 0;
}

.tfps-search__group + .tfps-search__group {
	margin-top: clamp(34px, 5vw, 64px);
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.tfps-search__group-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 20px;
}

.tfps-search__group-head span {
	color: var(--tfps-cyan);
}

.tfps-search__group-head h2 {
	margin: 7px 0 0;
	color: #fff8ee;
	font: 900 clamp(34px, 5vw, 56px)/.98 var(--tf-font-display);
	text-transform: none;
}

.tfps-search__group-head > strong {
	color: rgba(244, 239, 231, .32);
	font: 900 clamp(44px, 6vw, 72px)/.9 var(--tf-font-display);
}

.tfps-search__results {
	display: grid;
	gap: 16px;
}

.tfps-search__results--pages {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tfps-result {
	display: grid;
	grid-template-columns: minmax(180px, 30%) minmax(0, 1fr);
	min-height: 230px;
	border: 1px solid rgba(255, 255, 255, .12);
	background: linear-gradient(135deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .025));
	box-shadow: 0 20px 70px rgba(0, 0, 0, .28);
	overflow: hidden;
}

.tfps-result--page {
	display: block;
	min-height: 0;
}

.tfps-result__media {
	position: relative;
	display: block;
	min-height: 220px;
	background: #111821;
}

.tfps-result__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.92) contrast(1.04);
}

.tfps-result__fallback {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-height: 220px;
	background: linear-gradient(135deg, rgba(113, 236, 226, .12), rgba(255, 75, 85, .08));
	color: var(--tfps-cyan);
	font-size: 44px;
	font-weight: 900;
}

.tfps-result__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	padding: clamp(18px, 2.6vw, 30px);
}

.tfps-result__types {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tfps-pill {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 9px;
	border: 1px solid rgba(255, 255, 255, .14);
	color: rgba(244, 239, 231, .78);
}

.tfps-pill--type {
	border-color: rgba(113, 236, 226, .38);
	color: var(--tfps-cyan);
}

.tfps-pill--verdict.is-verified {
	border-color: rgba(113, 236, 226, .42);
	color: var(--tfps-cyan);
}

.tfps-pill--verdict.is-contested {
	border-color: rgba(241, 184, 75, .42);
	color: var(--tfps-amber);
}

.tfps-pill--verdict.is-unresolved {
	border-color: rgba(255, 75, 85, .42);
	color: #ff8b91;
}

.tfps-result h3 {
	margin: 0;
	color: #fff8ee;
	font: 900 clamp(25px, 3vw, 40px)/1.08 var(--tf-font-display);
}

.tfps-result h3 a {
	color: inherit;
	text-decoration: none !important;
}

.tfps-result h3 a:hover,
.tfps-result h3 a:focus-visible {
	color: var(--tfps-cyan);
}

.tfps-result__body > p {
	margin: 0;
	color: var(--tfps-muted);
	font-size: 16px;
	line-height: 1.55;
}

.tfps-result__meta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: auto 0 0;
}

.tfps-result--page .tfps-result__meta {
	grid-template-columns: 1fr;
}

.tfps-result__meta div {
	min-width: 0;
	padding-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.tfps-result__meta dt {
	margin-bottom: 5px;
	color: rgba(113, 236, 226, .78);
}

.tfps-result__meta dd {
	margin: 0;
	color: rgba(244, 239, 231, .75);
	font-size: 13px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.tfps-result__action {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 15px;
	border: 1px solid rgba(113, 236, 226, .38);
	color: var(--tfps-cyan);
	text-decoration: none !important;
}

.tfps-search__pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.tfps-search__pagination a,
.tfps-search__pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 12px;
	border: 1px solid rgba(255, 255, 255, .14);
	color: var(--tfps-text);
	text-decoration: none !important;
}

.tfps-search__pagination .current {
	border-color: rgba(113, 236, 226, .48);
	color: var(--tfps-cyan);
}

.tfps-search__empty {
	margin-top: 30px;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid var(--tfps-line);
	background: rgba(255, 255, 255, .045);
}

.tfps-search__empty h2 {
	margin: 0;
	color: #fff8ee;
	font: 900 clamp(30px, 4vw, 48px)/1.08 var(--tf-font-display);
}

.tfps-search__empty p {
	max-width: 700px;
	color: var(--tfps-muted);
	font-size: 17px;
	line-height: 1.55;
}

@media (max-width: 840px) {
	.tfps-search__hero,
	.tfps-result {
		grid-template-columns: 1fr;
	}

	.tfps-search__results--pages {
		grid-template-columns: 1fr;
	}

	.tfps-result__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tfps-result__media {
		min-height: 190px;
	}

	body.page-id-14283 #truthfiles-page .tfp-signal-row {
		grid-template-columns: 38px minmax(0, 1fr) !important;
	}

	body.page-id-14283 #truthfiles-page .tfp-signal-count {
		grid-column: 2;
		justify-self: start;
		text-align: left;
	}
}

@media (max-width: 560px) {
	.tfps-search {
		padding-inline: 12px;
	}

	.tfps-result__body {
		padding: 18px;
	}

	.tfps-result__meta {
		grid-template-columns: 1fr;
	}

	body.page-id-8583 #tf-tripwire-convergence .route-box-grid {
		grid-template-columns: 1fr;
		flex-basis: 100%;
	}
}

/* Long trust/legal Pages: compact generated contents index. */
.tf-page-shell .tfps-contents {
	width: 100%;
	max-width: 100%;
	margin: clamp(22px, 3vw, 38px) 0 clamp(30px, 4vw, 54px);
	border: 1px solid rgba(113, 236, 226, 0.28);
	background:
		linear-gradient(135deg, rgba(113, 236, 226, 0.08), transparent 42%),
		rgba(5, 10, 14, 0.88);
}

.tf-page-shell .tfps-contents__details {
	margin: 0;
}

.tf-page-shell .tfps-contents__details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 54px;
	padding: 14px 18px;
	cursor: pointer;
	color: #f4efe7;
	font-family: var(--tf-font-metadata);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	list-style: none;
}

.tf-page-shell .tfps-contents__details > summary::-webkit-details-marker {
	display: none;
}

.tf-page-shell .tfps-contents__details > summary::after {
	content: "+";
	flex: 0 0 auto;
	color: #71ece2;
	font-size: 22px;
	line-height: 1;
}

.tf-page-shell .tfps-contents__details[open] > summary::after {
	content: "−";
}

.tf-page-shell .tfps-contents__details > summary small {
	margin-left: auto;
	color: rgba(244, 239, 231, 0.58);
	font-size: 10px;
	letter-spacing: 0.1em;
}

.tf-page-shell .tfps-contents__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(113, 236, 226, 0.18);
	list-style: none;
}

.tf-page-shell .tfps-contents__list li {
	min-width: 0;
	margin: 0;
	border-right: 1px solid rgba(113, 236, 226, 0.12);
	border-bottom: 1px solid rgba(113, 236, 226, 0.12);
}

.tf-page-shell .tfps-contents__list a {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	min-height: 54px;
	padding: 12px 14px;
	color: rgba(244, 239, 231, 0.82);
	text-decoration: none;
}

.tf-page-shell .tfps-contents__list a:hover,
.tf-page-shell .tfps-contents__list a:focus-visible {
	background: rgba(113, 236, 226, 0.09);
	color: #fff;
}

.tf-page-shell .tfps-contents__list a > span {
	color: #71ece2;
	font-family: var(--tf-font-metadata);
	font-size: 11px;
	letter-spacing: 0.08em;
}

.tf-page-shell .tfps-contents__list a > strong {
	min-width: 0;
	font-size: 12px;
	line-height: 1.35;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.tf-page-shell .tfps-section-anchor {
	scroll-margin-top: 28px;
}

body.page-id-1876 .tfps-preview-kicker {
	display: block;
	margin: 0 0 10px;
	color: #71ece2;
	font-family: var(--tf-font-metadata);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

@media (max-width: 700px) {
	.tf-page-shell .tfps-contents__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.tf-page-shell .tfps-contents__details > summary {
		padding-inline: 14px;
	}

	.tf-page-shell .tfps-contents__list a {
		min-height: 50px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tf-page-shell *,
	.tfps-search * {
		scroll-behavior: auto !important;
	}
}
