:root {
	--tsfs-bg: #f3efe6;
	--tsfs-panel: #fffdfa;
	--tsfs-panel-alt: #f7f2e8;
	--tsfs-border: #d7d0c3;
	--tsfs-text: #191919;
	--tsfs-muted: #6b655d;
	--tsfs-accent: #20252f;
	--tsfs-accent-soft: #ebe5d7;
	--tsfs-shadow: 0 18px 45px rgba(20, 18, 14, 0.08);
}

.tok-show-forum-surface {
	color: var(--tsfs-text);
}

.tok-show-forum-surface #main,
.tok-show-forum-surface #content-wrap,
.tok-show-forum-surface #primary,
.tok-show-forum-surface #content {
	background: transparent;
}

.tok-show-forum-surface .container,
.tok-show-forum-surface .tsfs-section,
.tok-show-forum-surface .tsfs-hero {
	width: min(1240px, calc(100% - 32px));
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
}

.tok-show-forum-surface .tsfs-breadcrumbs {
	margin: 22px auto 18px;
	padding: 0 4px;
	color: var(--tsfs-muted);
}

.tok-show-forum-surface .tsfs-breadcrumbs ol {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 13px;
}

.tok-show-forum-surface .tsfs-breadcrumbs li {
	display: inline-flex;
	align-items: center;
}

.tok-show-forum-surface .tsfs-breadcrumbs li + li::before {
	content: "/";
	margin-right: 6px;
	color: #9a9388;
}

.tok-show-forum-surface .tsfs-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.tsfs-section,
.tsfs-hero {
	margin: 0 auto 28px;
}

.tsfs-section {
	padding: 0 4px;
}

.tsfs-hero,
.tsfs-forum-topic,
.tsfs-section > .tsfs-topic-grid,
.tsfs-html-sitemap,
.tsfs-topic-list,
.tsfs-nav-cards,
.tsfs-key-grid,
.tsfs-guide-grid,
.tsfs-tag-cloud,
.tsfs-comments-wrap {
	position: relative;
}

.tsfs-hero,
.tsfs-forum-topic,
.tsfs-section-card,
.tsfs-comments-wrap {
	border: 1px solid var(--tsfs-border);
	background: linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(249, 243, 232, 0.94));
	box-shadow: var(--tsfs-shadow);
}

.tsfs-hero {
	padding: 40px;
	overflow: hidden;
}

.tsfs-hero > *,
.tsfs-forum-topic > * {
	position: relative;
	z-index: 1;
}

.tsfs-hero::before,
.tsfs-forum-topic::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(33, 37, 43, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(33, 37, 43, 0.06) 1px, transparent 1px);
	background-size: 72px 72px;
	opacity: 0.3;
	pointer-events: none;
}

.tsfs-kicker,
.tsfs-topic-hero__label,
.tsfs-side-card__eyebrow,
.tsfs-topic-card__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--tsfs-accent);
}

.tsfs-kicker::before,
.tsfs-topic-hero__label::before,
.tsfs-side-card__eyebrow::before {
	content: "";
	width: 32px;
	height: 1px;
	background: currentColor;
	opacity: 0.4;
}

.tsfs-hero h1,
.tsfs-archive-hero h1,
.tsfs-topic-hero__title,
.tok-show-forum-surface .tsfs-section > h2,
.tok-show-forum-surface .tsfs-topic-shell h2,
.tok-show-forum-surface .comment-reply-title,
.tok-show-forum-surface .comments-title {
	margin: 0 0 14px;
	color: var(--tsfs-text);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700;
	letter-spacing: 0;
}

.tsfs-hero h1,
.tsfs-topic-hero__title {
	max-width: 13ch;
	font-size: clamp(36px, 4.8vw, 68px);
	line-height: 0.98;
}

.tsfs-archive-hero h1 {
	max-width: 14ch;
	font-size: clamp(36px, 4.8vw, 62px);
	line-height: 1;
}

.tok-show-forum-surface .tsfs-section > h2,
.tok-show-forum-surface .tsfs-topic-shell h2 {
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.04;
	padding-top: 6px;
}

.tsfs-hero > p:not(.tsfs-kicker),
.tsfs-archive-hero__content > p:last-child,
.tsfs-topic-hero__lead,
.tok-show-forum-surface .tsfs-topic-shell,
.tok-show-forum-surface .tsfs-section p,
.tok-show-forum-surface .comment-content {
	font-size: 18px;
	line-height: 1.75;
	color: #29251f;
}

.tsfs-hero > p:not(.tsfs-kicker),
.tsfs-topic-hero__lead {
	max-width: 22ch;
	font-size: clamp(19px, 2vw, 30px);
	line-height: 1.42;
}

.tsfs-actions,
.tsfs-key-grid,
.tsfs-nav-cards,
.tsfs-guide-grid,
.tsfs-tag-cloud,
.tsfs-topic-grid,
.tsfs-topic-signals {
	display: grid;
	gap: 18px;
}

.tsfs-actions {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	margin-top: 28px;
	max-width: 660px;
}

.tsfs-button,
.tsfs-button-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 14px 20px;
	border: 1px solid var(--tsfs-accent);
	background: var(--tsfs-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.tsfs-button-secondary {
	background: transparent;
	color: var(--tsfs-accent);
}

.tsfs-button:hover,
.tsfs-button:focus-visible,
.tsfs-button-secondary:hover,
.tsfs-button-secondary:focus-visible,
.tsfs-tag-pill:hover,
.tsfs-term-pill:hover,
.tsfs-topic-card__title a:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(24, 22, 19, 0.08);
}

.tsfs-key-grid,
.tsfs-nav-cards,
.tsfs-topic-grid {
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.tsfs-key-grid > div,
.tsfs-nav-cards article,
.tsfs-topic-card,
.tsfs-side-card,
.tsfs-html-sitemap section,
.tsfs-comments-wrap {
	border: 1px solid var(--tsfs-border);
	background: rgba(255, 252, 246, 0.96);
	box-shadow: 0 8px 24px rgba(24, 22, 19, 0.04);
}

.tsfs-key-grid > div {
	grid-column: span 3;
	padding: 18px 20px;
	font-weight: 700;
}

.tsfs-nav-cards article,
.tsfs-topic-card {
	grid-column: span 3;
	padding: 22px;
}

.tsfs-nav-cards article h3,
.tsfs-topic-card__title {
	margin: 0 0 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	line-height: 1.05;
}

.tsfs-nav-cards article p,
.tsfs-topic-card__excerpt,
.tsfs-side-card__links,
.tsfs-side-card__links li,
.tok-show-forum-surface .tsfs-topic-shell li,
.tok-show-forum-surface .comment-body {
	font-size: 16px;
	line-height: 1.7;
	color: var(--tsfs-muted);
}

.tsfs-topic-card__meta,
.tsfs-topic-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-bottom: 12px;
}

.tsfs-topic-card__date,
.tsfs-topic-hero__updated {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #827a6f;
}

.tsfs-topic-card__title a {
	color: inherit;
	text-decoration: none;
}

.tsfs-term-pills,
.tsfs-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tsfs-term-pill,
.tsfs-tag-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 9px 14px;
	border: 1px solid var(--tsfs-border);
	background: rgba(240, 232, 219, 0.7);
	color: var(--tsfs-text);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.tsfs-topic-grid-side {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr;
}

.tsfs-topic-grid-side .tsfs-topic-card {
	grid-column: auto;
	padding: 18px;
}

.tsfs-topic-grid-side .tsfs-topic-card__title {
	font-size: 18px;
	line-height: 1.08;
}

.tsfs-topic-grid-side .tsfs-topic-card__excerpt,
.tsfs-topic-grid-side .tsfs-term-pills {
	display: none;
}

.tsfs-topic-signals {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto 28px;
}

.tsfs-signal-card {
	padding: 18px 20px;
	border: 1px solid var(--tsfs-border);
	background: rgba(255, 252, 246, 0.96);
	box-shadow: 0 8px 24px rgba(24, 22, 19, 0.04);
}

.tsfs-signal-card__label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #776f64;
}

.tsfs-signal-card__value {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 25px;
	line-height: 1.05;
	color: var(--tsfs-text);
}

.tsfs-feature-card {
	padding: 28px 30px;
	border: 1px solid var(--tsfs-border);
	background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(245, 238, 226, 0.94));
	box-shadow: var(--tsfs-shadow);
}

.tsfs-feature-card__meta,
.tsfs-feature-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 14px;
}

.tsfs-feature-card__title {
	margin: 14px 0 12px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1;
}

.tsfs-feature-card__title a {
	color: inherit;
	text-decoration: none;
}

.tsfs-feature-card__excerpt {
	max-width: 52ch;
	margin-bottom: 18px;
	font-size: 18px;
	line-height: 1.75;
	color: #2c2721;
}

.tsfs-outline-list {
	margin: 0;
	padding-left: 20px;
}

.tsfs-outline-list li {
	margin-bottom: 8px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--tsfs-muted);
}

.tsfs-outline-list a {
	color: inherit;
	text-decoration: none;
}

.tsfs-guide-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tsfs-guide-card {
	display: flex;
	align-items: flex-start;
	min-height: 120px;
	padding: 20px;
	border: 1px solid var(--tsfs-border);
	background: rgba(255, 252, 246, 0.96);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tsfs-text);
	text-decoration: none;
}

.tsfs-check-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px 26px;
	margin: 0;
	padding-left: 20px;
}

.tsfs-forum-topic {
	padding: 36px;
}

.tsfs-topic-hero,
.tsfs-archive-hero {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
	gap: 28px;
	align-items: start;
}

.tsfs-topic-layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.75fr);
	gap: 28px;
	margin-top: 28px;
}

.tsfs-topic-layout__main,
.tsfs-topic-layout__side {
	min-width: 0;
}

.tsfs-side-card {
	padding: 24px;
}

.tsfs-side-card__links {
	margin: 0;
	padding-left: 18px;
}

.tsfs-side-card__links a {
	color: var(--tsfs-text);
	text-decoration: none;
}

.tsfs-topic-shell {
	padding: 28px 32px;
	border: 1px solid var(--tsfs-border);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 10px 30px rgba(21, 18, 15, 0.05);
}

.tsfs-topic-layout__main .entry-content {
	max-width: 820px;
}

.tsfs-forum-topic .tsfs-topic-shell > p:nth-of-type(-n + 4) {
	display: none;
}

.tok-show-forum-surface .tsfs-topic-shell p,
.tok-show-forum-surface .tsfs-topic-shell ul,
.tok-show-forum-surface .tsfs-topic-shell ol {
	margin-bottom: 18px;
}

.tok-show-forum-surface .tsfs-topic-shell ul,
.tok-show-forum-surface .tsfs-topic-shell ol {
	padding-left: 24px;
}

.tok-show-forum-surface .tsfs-topic-shell li {
	margin-bottom: 8px;
	color: #2f2a23;
}

.tok-show-forum-surface .tsfs-topic-shell a {
	color: inherit;
	text-decoration-thickness: 1px;
}

.tok-show-forum-surface .tsfs-topic-shell h2 {
	margin-top: 36px;
	border-top: 1px solid rgba(33, 37, 43, 0.14);
}

.tsfs-html-sitemap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.tsfs-html-sitemap section {
	padding: 22px;
}

.tsfs-html-sitemap ul,
.tsfs-topic-list {
	margin: 0;
	padding-left: 18px;
}

.tsfs-topic-list {
	border: 1px solid var(--tsfs-border);
	background: rgba(255, 252, 246, 0.96);
	padding: 18px 18px 18px 36px;
}

.tsfs-comments-wrap {
	padding: 28px;
}

.tsfs-archive-hero__aside,
.tsfs-topic-hero__aside,
.tsfs-topic-layout__side {
	position: sticky;
	top: 126px;
	align-self: start;
}

.tok-show-forum-surface .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	margin-right: 8px;
	border: 1px solid var(--tsfs-border);
	background: rgba(255, 252, 246, 0.96);
	color: var(--tsfs-text);
	text-decoration: none;
}

.tok-show-forum-surface .page-numbers.current {
	background: var(--tsfs-accent);
	color: #fff;
	border-color: var(--tsfs-accent);
}

@media (max-width: 1200px) {
	.tsfs-key-grid > div,
	.tsfs-nav-cards article,
	.tsfs-topic-card {
		grid-column: span 6;
	}

	.tsfs-topic-signals {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tsfs-guide-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.tsfs-hero,
	.tsfs-forum-topic {
		padding: 26px;
	}

	.tsfs-topic-hero,
	.tsfs-archive-hero,
	.tsfs-topic-layout {
		grid-template-columns: 1fr;
	}

	.tsfs-archive-hero__aside,
	.tsfs-topic-hero__aside,
	.tsfs-topic-layout__side {
		position: static;
	}

	.tsfs-hero h1,
	.tsfs-topic-hero__title,
	.tsfs-archive-hero h1 {
		max-width: none;
	}

	.tsfs-check-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.tok-show-forum-surface .container,
	.tok-show-forum-surface .tsfs-section,
	.tok-show-forum-surface .tsfs-hero {
		width: min(1240px, calc(100% - 16px));
	}

	.tok-show-forum-surface .tsfs-breadcrumbs {
		margin: 14px auto 12px;
		padding: 0 2px;
	}

	.tok-show-forum-surface .tsfs-breadcrumbs ol {
		font-size: 13px;
		gap: 4px;
	}

	.tok-show-forum-surface .tsfs-breadcrumbs a,
	.tok-show-forum-surface .tsfs-breadcrumbs span {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}

	.tsfs-section,
	.tsfs-hero {
		margin-bottom: 14px;
	}

	.tsfs-hero,
	.tsfs-forum-topic {
		padding: 14px;
	}

	.tsfs-hero h1,
	.tsfs-topic-hero__title,
	.tsfs-archive-hero h1 {
		font-size: clamp(28px, 9.2vw, 40px);
		line-height: 0.96;
		max-width: none;
	}

	.tsfs-hero > p:not(.tsfs-kicker),
	.tsfs-topic-hero__lead {
		max-width: none;
		font-size: 17px;
		line-height: 1.52;
	}

	.tok-show-forum-surface .tsfs-section > h2,
	.tok-show-forum-surface .tsfs-topic-shell h2 {
		font-size: clamp(24px, 8vw, 32px);
		line-height: 1.02;
	}

	.tsfs-actions {
		grid-template-columns: 1fr;
		max-width: none;
	}

	.tsfs-button,
	.tsfs-button-secondary {
		min-height: 50px;
		font-size: 13px;
		padding: 12px 16px;
	}

	.tsfs-nav-cards article,
	.tsfs-topic-card,
	.tsfs-key-grid > div,
	.tsfs-signal-card,
	.tsfs-feature-card,
	.tsfs-side-card,
	.tsfs-comments-wrap {
		padding: 14px;
	}

	.tsfs-key-grid > div,
	.tsfs-nav-cards article,
	.tsfs-topic-card {
		grid-column: 1 / -1;
	}

	.tsfs-topic-signals {
		grid-template-columns: 1fr;
	}

	.tsfs-guide-grid {
		grid-template-columns: 1fr;
	}

	.tsfs-html-sitemap,
	.tsfs-check-list {
		grid-template-columns: 1fr;
	}

	.tsfs-topic-shell {
		padding: 16px 14px;
	}

	.tsfs-topic-layout {
		gap: 14px;
		margin-top: 14px;
	}

	.tsfs-feature-card__title {
		font-size: clamp(24px, 8.2vw, 34px);
	}

	.tsfs-feature-card__excerpt,
	.tok-show-forum-surface .tsfs-topic-shell,
	.tok-show-forum-surface .tsfs-section p,
	.tok-show-forum-surface .comment-content {
		font-size: 16px;
		line-height: 1.68;
	}

	.tsfs-outline-list li,
	.tsfs-nav-cards article p,
	.tsfs-topic-card__excerpt,
	.tsfs-side-card__links,
	.tsfs-side-card__links li,
	.tok-show-forum-surface .tsfs-topic-shell li,
	.tok-show-forum-surface .comment-body {
		font-size: 15px;
		line-height: 1.6;
	}

	.tsfs-topic-card__meta,
	.tsfs-topic-hero__meta,
	.tsfs-feature-card__meta,
	.tsfs-feature-card__actions {
		gap: 8px 10px;
	}

	.tsfs-term-pills,
	.tsfs-tag-cloud {
		gap: 8px;
	}

	.tsfs-term-pill,
	.tsfs-tag-pill {
		min-height: 44px;
		padding: 9px 12px;
		font-size: 12px;
		letter-spacing: 0.05em;
	}

	.tsfs-kicker,
	.tsfs-topic-hero__label,
	.tsfs-side-card__eyebrow,
	.tsfs-topic-card__eyebrow,
	.tsfs-signal-card__label {
		font-size: 12px;
		letter-spacing: 0.1em;
	}

	.tsfs-topic-card__date,
	.tsfs-topic-hero__updated {
		font-size: 13px;
	}
}
