/* Full article content only. DLE markup and stored article text remain intact. */
.ftp-modern .game-page__content {
	--ftp-article-blue: #285d91;
	--ftp-article-red: #aa303b;
	--ftp-article-orange: #8b561c;
	--ftp-article-download-bg: rgba(77, 175, 50, .07);
	padding: 16px 26px 26px;
	min-width: 0;
	color: var(--ftp-text);
	font-size: 14px;
	line-height: 1.64;
	overflow-wrap: anywhere;
}
html.ftp-theme-dark .ftp-modern .game-page__content {
	--ftp-article-blue: #9bc8ff;
	--ftp-article-red: #ff8c96;
	--ftp-article-orange: #ffc27b;
	--ftp-article-download-bg: rgba(77, 175, 50, .08);
}
.ftp-modern .game-page__content :where(div, p, blockquote, ul, ol, li, table, th, td, a, pre, img, iframe, video, audio) {
	box-sizing: border-box;
	min-width: 0;
}
.ftp-modern .game-page__content p {margin: .55rem 0;}
.ftp-modern .game-page__content :is(b, strong) {color: inherit;}
.ftp-modern .game-page__content a {color: var(--ftp-green-dark);font-weight: 700;}
.ftp-modern .game-page__content a:hover {color: var(--ftp-green);}
.ftp-modern .game-page__content a:focus-visible {outline: 2px solid var(--ftp-green);outline-offset: 3px;}
.ftp-modern .game-page__content img {max-width: 100% !important;height: auto !important;object-fit: contain;}
.ftp-modern .game-page__content .ftp-legacy-image {display: block;width: auto;margin: 12px auto;border-radius: 12px;}
.ftp-modern .game-page__content a.highslide {display: inline-block;max-width: 100%;padding: 0;border: 0;background: none;box-shadow: none;}
.ftp-modern .game-page__content a.highslide img {display: block;}
/* The source PNG has a pale edge; the extra pixel prevents a resampling fringe. */
.ftp-modern .game-page__content img[src*="download-yb"] {display: block;width: auto;height: auto;margin: 0 auto 8px;clip-path: inset(3px);}
.ftp-modern .game-page__content img[src*="templates/freetp2/images/download.png"] {display: none;}
.ftp-modern .game-page__content :is(iframe, video) {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	margin: 14px 0;
	border: 0;
	border-radius: 12px;
	background: #000;
	box-shadow: none;
}
.ftp-modern .game-page__content :is(.dle-media-block, .ftp-legacy-media) {
	position: relative;
	max-width: 100%;
	margin: 14px 0;
	overflow: hidden;
	border: 0;
	border-radius: 12px;
	background: #000;
}
.ftp-modern .game-page__content :is(.dle-media-block, .ftp-legacy-media) > :is(iframe, video) {
	margin: 0;
	border: 0;
	border-radius: inherit;
	box-shadow: none;
}
/* DLE may set the embed width and max-width inline. */
.ftp-modern .game-page__content :is(
	.ftp-legacy-media,
	.dle-media-block:has(> :is(video, iframe[src*="youtube.com/embed/"], iframe[src*="youtube-nocookie.com/embed/"])),
	video,
	iframe[src*="youtube.com/embed/"],
	iframe[src*="youtube-nocookie.com/embed/"]
) {
	max-width: min(100%, 720px) !important;
	margin-inline: auto;
}
.ftp-modern .game-page__content :is(video, iframe[src*="youtube.com/embed/"], iframe[src*="youtube-nocookie.com/embed/"]):not(.dle-media-block > *) {
	height: auto !important;
}
.ftp-modern .game-page__content audio {max-width: 100%;}
.ftp-modern .game-page__content hr {height: 1px;margin: 20px 0;border: 0;background: var(--ftp-line);}
.ftp-modern .game-page__content div[id^="news-id-"] {display: block !important;}

/* Unnamed quotes were also used as layout wrappers by older article authors. */
.ftp-modern .game-page__content :is(.quote, blockquote) {
	margin: 14px 0;
	padding: 16px 18px;
	border: 0;
	border-radius: 12px;
	background: var(--ftp-surface-2);
	color: inherit;
	box-shadow: none;
}
.ftp-modern .game-page__content .quote_body {padding: 0;border: 0;background: transparent;}
.ftp-modern .game-page__content .title_quote {
	margin: 14px 0 0;
	padding: 10px 16px;
	border: 0;
	border-left: 3px solid var(--ftp-orange);
	border-radius: 12px 12px 0 0;
	background: var(--ftp-surface-2);
	color: var(--ftp-article-orange);
	font-size: 13px;
	font-weight: 800;
}
.ftp-modern .game-page__content .title_quote + .quote {margin-top: 0;border-left: 3px solid var(--ftp-orange);border-radius: 0 0 12px 12px;}
.ftp-modern .game-page__content .ftp-legacy-quote__author {margin-bottom: 8px;color: var(--ftp-article-orange);font-weight: 800;}

.ftp-modern .game-page__content .title_spoiler {
	display: flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	margin: 14px 0 0;
	padding: 11px 14px;
	border: 1px solid var(--ftp-line);
	border-radius: 12px;
	background: var(--ftp-surface-2);
	color: var(--ftp-green-dark);
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}
.ftp-modern .game-page__content .title_spoiler.is-open {border-radius: 12px 12px 0 0;}
.ftp-modern .game-page__content .title_spoiler :is(a, span) {color: inherit;font-weight: inherit;}
.ftp-modern .game-page__content .title_spoiler:before {
	content: "";
	width: 7px;
	height: 7px;
	flex: 0 0 7px;
	margin-right: 3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
}
.ftp-modern .game-page__content .title_spoiler.is-open:before {transform: rotate(225deg) translate(-1px, -1px);}
.ftp-modern .game-page__content .title_spoiler :is(img[src*="spoiler"], .spoiler-btn-svg) {display: none;}
.ftp-modern .game-page__content .title_spoiler:focus-visible {outline: 2px solid var(--ftp-green);outline-offset: 3px;}
.ftp-modern .game-page__content .text_spoiler {
	margin: 0 0 14px;
	padding: 14px;
	border: 1px solid var(--ftp-line);
	border-top: 0;
	border-radius: 0 0 12px 12px;
	background: var(--ftp-surface-2);
	color: inherit;
	text-align: left;
}
.ftp-modern .game-page__content .text_spoiler[hidden] {display: none !important;}
.ftp-modern .game-page__content .ftp-legacy-spoiler {margin: 14px 0;border: 1px solid var(--ftp-line);border-radius: 12px;background: var(--ftp-surface-2);}
.ftp-modern .game-page__content .ftp-legacy-spoiler summary {padding: 11px 14px;color: var(--ftp-green-dark);cursor: pointer;font-size: 13px;font-weight: 800;}
.ftp-modern .game-page__content .ftp-legacy-spoiler__body {padding: 14px;border-top: 1px solid var(--ftp-line);}

/* JS maps only author-declared foreground colours; it does not erase inline styles. */
.ftp-modern .game-page__content .ftp-article-accent--red {color: var(--ftp-article-red) !important;}
.ftp-modern .game-page__content .ftp-article-accent--green {color: var(--ftp-green-dark) !important;}
.ftp-modern .game-page__content .ftp-article-accent--blue {color: var(--ftp-article-blue) !important;}
.ftp-modern .game-page__content .ftp-article-accent--orange {color: var(--ftp-article-orange) !important;}
.ftp-modern .game-page__content .ftp-article-accent--text {color: var(--ftp-text) !important;}
.ftp-modern .game-page__content .ftp-article-label {color: var(--ftp-green-dark);font-weight: 800;}
.ftp-modern .game-page__content .ftp-article-heading {
	display: block;
	margin: 18px 0 10px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ftp-text) !important;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 800;
}
.ftp-modern .game-page__content .ftp-article-heading .ftp-article-accent--blue {color: inherit !important;}

/* A single nearest download block, never grid on prose paragraphs. */
.ftp-modern .game-page__content .ftp-article-download {
	display: block;
	margin: 12px 0 16px;
	padding: 12px 14px;
	border: 0;
	border-left: 3px solid var(--ftp-green);
	border-radius: 0 12px 12px 0;
	background: var(--ftp-article-download-bg);
	box-shadow: none;
}
.ftp-modern .game-page__content .ftp-article-download p {margin: .4rem 0;}
.ftp-modern .game-page__content a.ftp-file-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	max-width: 100%;
	margin: 5px 0;
	padding: 9px 13px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: var(--ftp-green);
	color: #fff !important;
	font-weight: 800;
	line-height: 1.5;
	white-space: normal;
	overflow-wrap: anywhere;
	text-align: center;
	box-shadow: none;
}
.ftp-modern .game-page__content a.ftp-file-link:before {
	content: "";
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background: currentColor;
	-webkit-mask: url("../images/new/icons/file-arrow-down.svg") center / contain no-repeat;
	mask: url("../images/new/icons/file-arrow-down.svg") center / contain no-repeat;
}
.ftp-modern .game-page__content a.ftp-file-link:hover {background: var(--ftp-green-dark);color: #fff;}
.ftp-modern .game-page__content .attachment {display: block;margin: 8px 0;color: var(--ftp-muted);font-size: 13px;}
.ftp-modern .game-page__content .ftp-file-meta {color: var(--ftp-muted);font-size: 12px;font-weight: 700;}

.ftp-modern .game-page__content :is(pre, .scriptcode) {max-width: 100%;margin: 14px 0;padding: 12px 14px;border: 1px solid var(--ftp-line);border-radius: 10px;background: var(--ftp-surface-2);color: inherit;white-space: pre-wrap;overflow-wrap: anywhere;}
.ftp-modern .game-page__content .ftp-article-table {max-width: 100%;overflow-x: auto;margin: 14px 0;overscroll-behavior-x: contain;}
.ftp-modern .game-page__content table {width: 100%;max-width: 100%;border-collapse: collapse;}
.ftp-modern .game-page__content :is(th, td) {padding: 8px;border-color: var(--ftp-line);}
@media (max-width: 640px) {
	.ftp-modern .game-page__content {padding-left: 16px;padding-right: 16px;}
	.ftp-modern .game-page__content :is(.quote, blockquote, .text_spoiler) {padding: 12px;}
	.ftp-modern .game-page__content .ftp-article-download {padding: 10px 12px;}
	.ftp-modern .game-page__content a.ftp-file-link {width: 100%;}
	.ftp-modern .game-page__content img[align],
	.ftp-modern .game-page__content img[style*="float"],
	.ftp-modern .game-page__content a.highslide[style*="float"] {float: none !important;max-width: 100%;}
}
