/* Güncel TycoonCore içerik senkronizasyonu: dünya temaları ve gerçek ItemsAdder varlıkları. */
:root {
	--tc-world-agriculture: #829c35;
}

body[data-world="agriculture"], body[data-world-preview="agriculture"] {
	--wx-canvas: #d9e9b5;
	--wx-bottom: #c7a96a;
	--wx-header: #e7efc9;
	--wx-header-2: #c3d990;
	--wx-panel: #f2f7dd;
	--wx-panel-2: #dce8b4;
	--wx-border: #657a32;
	--wx-accent: #829c35;
	--wx-title: #344613;
	--wx-text: #3f4b26;
	--wx-muted: #6d7651;
	--wx-nav-text: #3b4d16;
	--wx-hero: #1c2908;
	--world-paper: #eef4d8;
	--world-deep: #344613;
	--world-accent: #829c35;
	--world-rgb: 130, 156, 53;
	--preview-page: #192d0f;
	--preview-paper: #273e18;
	--preview-accent: #9ac36c;
	--preview-deep: #4c712b;
	--preview-line: #7ba255;
	--canvas-image: url("../img/worlds/agriculture-minecraft-20260713.jpg");
}

html[data-color-theme="dark"] body[data-world="agriculture"],
html[data-color-theme="dark"] body[data-world-preview="agriculture"] {
	--wx-canvas: #101805;
	--wx-bottom: #261d08;
	--wx-header: #172009;
	--wx-header-2: #304010;
	--wx-panel: #1c290d;
	--wx-panel-2: #304018;
	--wx-border: #819b43;
	--wx-accent: #a5c95a;
	--wx-title: #f8fbe9;
	--wx-text: #e8efd3;
	--wx-muted: #bac69b;
	--wx-nav-text: #f1f6dc;
	--wx-hero: #050802;
	--world-paper: #1c290d;
	--world-deep: #f1f6dc;
	--world-accent: #a5c95a;
	--preview-page: #101805;
	--preview-paper: #1c290d;
	--preview-accent: #a5c95a;
	--preview-deep: #304010;
	--preview-line: #819b43;
}

.tc-plugin-item-texture {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: contain;
	image-rendering: pixelated;
}

.tc-item-entry {
	min-width: 0;
	border: 1px solid var(--tc-border, var(--tc-line));
	background: var(--tc-surface-2);
	transition: border-color .18s ease, background-color .18s ease;
}

.tc-item-entry[open] {
	grid-column: 1 / -1;
	border-color: var(--tc-primary);
	background: var(--tc-surface, var(--tc-surface-2));
}

.tc-item-entry > summary {
	list-style: none;
	cursor: pointer;
	user-select: none;
}

.tc-item-entry > summary::-webkit-details-marker { display: none; }

.tc-item-entry .tc-item-card {
	border: 0;
	border-radius: 0;
	background: transparent;
	min-height: 130px;
}

.tc-item-entry .tc-item-card:focus-visible {
	outline: 3px solid var(--tc-primary);
	outline-offset: -3px;
}

.tc-item-card__toggle {
	display: flex;
	align-items: center;
	gap: 6px;
}

.tc-item-card__toggle i { transition: transform .2s ease; }
.tc-item-entry[open] .tc-item-card__toggle i { transform: rotate(180deg); }

.tc-item-detail {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(330px, 1.15fr);
	gap: 18px;
	padding: 18px;
	border-top: 1px solid var(--tc-border, var(--tc-line));
}

.tc-item-detail__copy h4 {
	margin: 4px 0 14px;
	font-size: 1.15rem;
}

.tc-item-fact {
	padding: 11px 0;
	border-top: 1px solid var(--tc-border, var(--tc-line));
}

.tc-item-fact strong { display: block; margin-bottom: 4px; font-size: .78rem; }
.tc-item-fact p { margin: 0; color: var(--tc-text-muted); font-size: .83rem; line-height: 1.55; }

.tc-crafting-window {
	align-self: start;
	padding: 14px;
	color: #242424;
	background: #c6c6c6;
	border: 3px solid #555;
	box-shadow: inset 3px 3px 0 #f7f7f7, inset -3px -3px 0 #8b8b8b;
	font-family: Nunito, sans-serif;
}

.tc-crafting-window__title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 12px;
	padding: 2px 3px 9px;
	border-bottom: 2px solid #8b8b8b;
}

.tc-crafting-window__title img,
.tc-crafting-slot img {
	object-fit: contain;
	image-rendering: pixelated;
}

.tc-crafting-window__title strong,
.tc-crafting-window__title span { display: block; }
.tc-crafting-window__title strong { color: #242424 !important; font-size: .86rem; }
.tc-crafting-window__title span { color: #4b4b4b !important; font-size: .7rem; }

.tc-crafting-layout {
	display: grid;
	grid-template-columns: 156px 34px minmax(72px, 1fr);
	align-items: center;
	gap: 10px;
}

.tc-crafting-grid {
	display: grid;
	grid-template-columns: repeat(3, 48px);
	grid-template-rows: repeat(3, 48px);
	gap: 4px;
}

.tc-crafting-slot {
	position: relative;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	background: #8b8b8b;
	border: 2px solid;
	border-color: #373737 #fff #fff #373737;
}

.tc-crafting-slot img { max-width: 40px; max-height: 40px; }
.tc-crafting-missing { color: #d7d7d7; font-size: 1.2rem; font-weight: 900; text-shadow: 1px 1px 0 #333; }
.tc-crafting-result .tc-crafting-slot { width: 58px; height: 58px; margin: 0 auto; }
.tc-crafting-result .tc-crafting-slot img { max-width: 48px; max-height: 48px; }

.tc-crafting-slot b,
.tc-crafting-slot em {
	position: absolute;
	right: 2px;
	bottom: 0;
	color: #fff;
	font-size: .7rem;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
	text-shadow: 1px 1px 0 #222, -1px -1px 0 #222;
}

.tc-crafting-slot em {
	top: 2px;
	bottom: auto;
	padding: 2px 3px;
	background: #315b82;
}

.tc-crafting-arrow {
	position: relative;
	width: 31px;
	height: 16px;
	background: #6b6b6b;
}

.tc-crafting-arrow::after {
	content: "";
	position: absolute;
	right: -8px;
	top: -8px;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
	border-left: 14px solid #6b6b6b;
}

.tc-furnace-layout {
	display: grid;
	grid-template-columns: 76px 74px minmax(90px, 1fr);
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 152px;
	padding: 4px 24px;
}

.tc-furnace-inputs {
	display: grid;
	grid-template-rows: 48px 32px 48px;
	justify-items: center;
	align-items: center;
}

.tc-furnace-flame {
	position: relative;
	width: 22px;
	height: 27px;
	background: #f39a25;
	clip-path: polygon(48% 0, 68% 28%, 84% 18%, 100% 58%, 82% 100%, 18% 100%, 0 58%, 22% 31%, 35% 47%);
	filter: drop-shadow(0 1px 0 #9b4c12);
}

.tc-furnace-flame::after {
	content: "";
	position: absolute;
	left: 7px;
	bottom: 2px;
	width: 9px;
	height: 13px;
	background: #ffe36b;
	clip-path: polygon(50% 0, 100% 55%, 76% 100%, 24% 100%, 0 55%);
}

.tc-furnace-fuel span {
	color: #d4d4d4;
	font-size: .58rem;
	font-weight: 900;
	text-shadow: 1px 1px 0 #3b3b3b;
}

.tc-furnace-progress {
	position: relative;
	width: 58px;
	height: 24px;
	background: #9a9a9a;
	border: 2px solid #6b6b6b;
}

.tc-furnace-progress::after {
	content: "";
	position: absolute;
	right: -18px;
	top: -8px;
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	border-left: 19px solid #6b6b6b;
}

.tc-crafting-result { min-width: 0; text-align: center; }
.tc-crafting-result > strong { display: block; margin-top: 6px; color: #242424 !important; font-size: .7rem; line-height: 1.25; }

html[data-color-theme="dark"] .tc-wiki-panel .tc-crafting-window .tc-crafting-window__title strong,
html[data-color-theme="dark"] .tc-wiki-panel .tc-crafting-window .tc-crafting-result > strong {
	color: #242424 !important;
}

.tc-crafting-ingredients {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 12px 0 0;
	padding: 10px 0 0;
	border-top: 2px solid #8b8b8b;
	list-style: none;
}

.tc-crafting-ingredients li {
	padding: 4px 7px;
	color: #303030;
	background: #dedede;
	border: 1px solid #777;
	font-size: .66rem;
	font-weight: 800;
}

.tc-item-no-recipe {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	align-self: start;
	padding: 16px;
	border: 1px solid var(--tc-border, var(--tc-line));
	background: var(--tc-surface-2);
}

.tc-item-no-recipe > i { margin-top: 2px; color: var(--tc-primary); font-size: 1.35rem; }
.tc-item-no-recipe strong { display: block; margin-bottom: 4px; }
.tc-item-no-recipe p { margin: 0; color: var(--tc-text-muted); font-size: .82rem; line-height: 1.5; }

.tc-item-attribution {
	margin: 15px 0 0;
	color: var(--tc-text-muted);
	font-size: .68rem;
	line-height: 1.5;
}

.tc-item-attribution a { color: var(--tc-primary); text-decoration: underline; }

.tc-world-unlock-panel {
	margin-top: 18px;
	border-color: var(--wx-border, var(--tc-border));
	background: var(--wx-panel, var(--tc-surface));
}

.tc-world-unlock-panel__header {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--wx-border, var(--tc-border));
}

.tc-world-unlock-panel__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	color: var(--wx-title, var(--tc-text));
	background: var(--wx-panel-2, var(--tc-surface-2));
	border: 1px solid var(--wx-border, var(--tc-border));
}

.tc-world-unlock-panel__icon i { font-size: 1.65rem; }
.tc-world-unlock-panel__header h2 { margin: 3px 0 5px; color: var(--wx-title, var(--tc-text)); }
.tc-world-unlock-panel__header p { margin: 0; color: var(--wx-muted, var(--tc-text-muted)); line-height: 1.6; }

.tc-world-unlock-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.tc-world-unlock-step {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	min-width: 0;
	padding: 14px;
	color: var(--wx-text, var(--tc-text));
	background: var(--wx-panel-2, var(--tc-surface-2));
	border: 1px solid var(--wx-border, var(--tc-border));
}

.tc-world-unlock-step > i {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	color: var(--wx-title, var(--tc-text));
	background: color-mix(in srgb, var(--wx-accent, var(--tc-primary)) 20%, transparent);
	border: 1px solid var(--wx-border, var(--tc-border));
	font-size: 1rem;
}

.tc-world-unlock-step strong { display: block; margin: 1px 0 5px; color: var(--wx-title, var(--tc-text)) !important; font-size: .84rem; }
.tc-world-unlock-step p { margin: 0; color: var(--wx-muted, var(--tc-text-muted)); font-size: .76rem; line-height: 1.55; }

/* Player-facing home and wiki refresh. */
.tc-home-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 18px;
}

.tc-home-hero__badges span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 9px;
	color: #f7eef2;
	background: rgba(16, 10, 13, .62);
	border: 1px solid rgba(255, 255, 255, .25);
	font: 800 .7rem var(--tc-font-mono);
}

.tc-home-hero__badges i { color: #ff9abe; font-size: .9rem; }

.tc-home-pillars {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.tc-home-pillars article {
	position: relative;
	min-width: 0;
	padding: 24px;
	background: var(--tc-surface);
	border: 2px solid var(--tc-line);
	border-top: 5px solid var(--tc-primary);
	box-shadow: var(--tc-shadow-sm);
}

.tc-home-pillars article > span {
	position: absolute;
	top: 16px;
	right: 18px;
	color: color-mix(in srgb, var(--tc-primary) 45%, var(--tc-text-muted));
	font: 900 1.7rem var(--tc-font-mono);
}

.tc-home-pillars article > i { color: var(--tc-primary); font-size: 2rem; }
.tc-home-pillars h3 { margin: 18px 0 8px; }
.tc-home-pillars p { min-height: 5.1em; margin: 0; color: var(--tc-text-muted); font-size: .84rem; line-height: 1.7; }
.tc-home-pillars a { display: inline-flex; align-items: center; gap: 5px; margin-top: 18px; color: var(--tc-primary); font-size: .77rem; font-weight: 900; text-decoration: none; }

.tc-home-progression-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.tc-home-progression-grid > a {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 13px;
	min-width: 0;
	padding: 18px;
	color: var(--tc-text) !important;
	background: var(--tc-surface);
	border: 2px solid var(--tc-line);
	text-decoration: none;
	transition: border-color .18s ease, transform .18s ease;
}

.tc-home-progression-grid > a:hover { border-color: var(--tc-primary); transform: translateY(-2px); }
.tc-home-progression-grid > a > i { display: grid; place-items: center; width: 46px; height: 46px; color: var(--tc-primary); background: color-mix(in srgb, var(--tc-primary) 12%, transparent); border: 1px solid color-mix(in srgb, var(--tc-primary) 45%, var(--tc-line)); font-size: 1.35rem; }
.tc-home-progression-grid h3 { margin: 1px 0 5px; font-size: 1rem; }
.tc-home-progression-grid p { margin: 0; color: var(--tc-text-muted); font-size: .78rem; line-height: 1.55; }

.tc-play-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
	align-items: start;
	gap: 18px;
}

.tc-play-layout > .tc-wiki-panel { margin-top: 0; }
.tc-play-card { position: sticky; top: calc(var(--tc-header-h) + 24px); padding: 24px; color: #fff; background: #331b27; border: 2px solid #bc6584; box-shadow: var(--tc-shadow); }
.tc-play-card h2 { margin: 6px 0 10px; color: #fff; font: 900 clamp(1.25rem, 3vw, 1.8rem) var(--tc-font-mono); overflow-wrap: anywhere; }
.tc-play-card p { margin: 0 0 18px; color: #ead8df; }
.tc-play-card .tc-btn + .tc-btn { margin-top: 8px; }

.tc-first-minutes .tc-wiki-list code { display: inline-block; margin-top: 7px; }
.tc-game-loop-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.tc-game-loop-grid article {
	position: relative;
	min-width: 0;
	padding: 18px;
	background: var(--tc-surface-2);
	border: 1px solid var(--tc-line);
}

.tc-game-loop-grid article > span { position: absolute; top: 12px; right: 13px; color: var(--tc-text-dim); font: 900 .72rem var(--tc-font-mono); }
.tc-game-loop-grid article > i { color: var(--tc-primary); font-size: 1.45rem; }
.tc-game-loop-grid h3 { margin: 13px 0 6px; font-size: .95rem; }
.tc-game-loop-grid p { min-height: 4.7em; margin: 0 0 10px; color: var(--tc-text-muted); font-size: .76rem; line-height: 1.58; }
.tc-game-loop-grid code { font-size: .68rem; }
.tc-wiki-topic-heading { margin-top: 30px; }
.tc-wiki-topic-card { position: relative; color: var(--tc-text) !important; text-decoration: none !important; }
.tc-wiki-topic-card > span { display: inline-flex; align-items: center; gap: 5px; margin-top: 12px; color: var(--tc-primary); font-size: .72rem; font-weight: 900; }
.tc-world-roadmap { margin-top: 30px; }

.tc-world-route-groups {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 22px;
}

.tc-world-route-group { min-width: 0; padding: 16px; background: var(--tc-surface); border: 2px solid var(--tc-line); }
.tc-world-route-group header { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.tc-world-route-group header i { color: var(--tc-primary); font-size: 1.25rem; }
.tc-world-route-group h2 { margin: 0; font-size: .95rem; }
.tc-world-route-group > div { display: grid; gap: 6px; }
.tc-world-route-group a { display: flex; justify-content: space-between; gap: 10px; padding: 7px 8px; color: var(--tc-text) !important; background: var(--tc-surface-2); border: 1px solid var(--tc-line); font-size: .73rem; text-decoration: none; }
.tc-world-route-group a:hover { border-color: var(--tc-primary); }
.tc-world-route-group a span { color: var(--tc-text-muted); font-family: var(--tc-font-mono); text-align: right; }
.tc-world-catalog { margin-top: 8px; }
.tc-world-catalog .tc-world-preview { min-height: 210px; }
.tc-world-catalog .tc-world-preview small { display: block; max-width: 95%; margin-top: 8px; color: #e4e8ec; font-size: .68rem; line-height: 1.45; }

.tc-world-chapter-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
	gap: 14px;
}

.tc-world-chapter-grid > .tc-wiki-panel { margin-top: 0; }
.tc-world-highlight-list { display: grid; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.tc-world-highlight-list li { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: start; gap: 9px; color: var(--wx-text, var(--tc-text)); font-size: .82rem; line-height: 1.55; }
.tc-world-highlight-list i { display: grid; place-items: center; width: 26px; height: 26px; color: var(--wx-title, var(--tc-primary)); background: color-mix(in srgb, var(--wx-accent, var(--tc-primary)) 17%, transparent); border: 1px solid var(--wx-border, var(--tc-line)); }
.tc-world-next-panel p { margin: 12px 0 18px; color: var(--wx-muted, var(--tc-text-muted)); line-height: 1.65; }
.tc-world-goals-panel { margin-top: 18px; }

.tc-world-detail-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 14px; margin: 18px 0; }
.tc-world-detail-grid > .tc-wiki-panel { margin-top: 0; }
.tc-world-detail-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.tc-world-detail-heading h2 { margin: 3px 0 0; }
.tc-world-detail-icon { display: grid; place-items: center; width: 42px; height: 42px; color: var(--wx-accent, var(--tc-primary)); background: color-mix(in srgb, var(--wx-accent, var(--tc-primary)) 14%, transparent); border: 1px solid color-mix(in srgb, var(--wx-accent, var(--tc-primary)) 40%, var(--tc-line)); }
.tc-world-detail-icon i { font-size: 1.15rem; }
.tc-world-detail-copy, .tc-world-lore-panel p { color: var(--wx-muted, var(--tc-text-muted)); font-size: .78rem; line-height: 1.62; }
.tc-world-detail-copy { margin: 0 0 12px; }
.tc-world-lore-panel h2 { margin: 4px 0 11px; }
.tc-world-lore-panel p { margin: 0 0 9px; }
.tc-world-lore-panel p:last-child { margin-bottom: 0; }
.tc-world-power-rule { display: flex; align-items: flex-start; gap: 7px; padding: 9px; color: var(--wx-muted, var(--tc-text-muted)); background: color-mix(in srgb, var(--wx-accent, var(--tc-primary)) 7%, var(--tc-surface-2)); border-left: 3px solid var(--wx-accent, var(--tc-primary)); font-size: .68rem; line-height: 1.5; }
.tc-world-power-rule i { flex: 0 0 auto; color: var(--wx-accent, var(--tc-primary)); }
.tc-world-recipe { margin-top: 14px; }
.tc-world-recipe ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 7px 0 0; padding: 0; list-style: none; }
.tc-world-recipe li { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 8px; background: var(--tc-surface-2); border: 1px solid var(--tc-line); }
.tc-world-recipe li strong { color: var(--wx-accent, var(--tc-primary)); font: 900 .72rem var(--tc-font-mono); }
.tc-world-recipe li span { overflow: hidden; color: var(--tc-text-muted); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.tc-world-power-id { display: inline-block; margin-top: 12px; color: var(--tc-text-muted); font-size: .62rem; }
.tc-world-discoveries-panel { margin: 0 0 18px; }
.tc-world-discoveries-panel .tc-wiki-panel__heading { margin-bottom: 0; }
.tc-world-discovery-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.tc-world-discovery-list li { display: flex; align-items: flex-start; gap: 7px; padding: 9px; color: var(--tc-text-muted); background: var(--tc-surface-2); border: 1px solid var(--tc-line); font-size: .68rem; line-height: 1.45; }
.tc-world-discovery-list i { flex: 0 0 auto; color: var(--wx-accent, var(--tc-primary)); }

.tc-gem-rarity-guide { margin: 18px 0; padding: 18px; background: var(--tc-surface); border: 2px solid var(--tc-line); box-shadow: var(--tc-shadow-sm); }
.tc-gem-rarity-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.tc-gem-rarity-card { min-width: 0; padding: 13px; background: var(--tc-surface-2); border: 1px solid var(--tc-line); border-top: 4px solid var(--rarity-color); }
.tc-gem-rarity-card > span { color: var(--rarity-color); font: 900 .68rem var(--tc-font-mono); }
.tc-gem-rarity-card h3 { margin: 5px 0 7px; font-size: .88rem; }
.tc-gem-rarity-card p { margin: 0; color: var(--tc-text-muted); font-size: .66rem; line-height: 1.5; }
.tc-gem-unlock-copy { margin-top: 8px !important; color: var(--tc-text) !important; font-size: .78rem; font-weight: 900; }

.tc-rank-shared-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 18px 0;
}

.tc-rank-shared-strip > div { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px; padding: 12px; background: var(--tc-surface); border: 1px solid var(--tc-line); }
.tc-rank-shared-strip i { display: grid; place-items: center; width: 38px; height: 38px; color: var(--tc-primary); background: color-mix(in srgb, var(--tc-primary) 12%, transparent); border: 1px solid color-mix(in srgb, var(--tc-primary) 35%, var(--tc-line)); }
.tc-rank-shared-strip strong, .tc-rank-shared-strip span { display: block; }
.tc-rank-shared-strip strong { color: var(--tc-text); font-size: .76rem; }
.tc-rank-shared-strip span { color: var(--tc-text-muted); font-size: .67rem; line-height: 1.45; }

.tc-rank-showcase {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 14px;
	margin-bottom: 18px;
}

.tc-rank-card { display: flex; flex-direction: column; min-width: 0; padding: 20px; background: var(--tc-surface); border: 2px solid var(--tc-line); border-top: 6px solid var(--rank-color); box-shadow: var(--tc-shadow-sm); }
.tc-rank-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--tc-line); }
.tc-rank-card__header span { color: var(--tc-text-muted); font-size: .68rem; }
.tc-rank-card__header h2 { margin: 3px 0 0; color: var(--rank-color); font-size: 1.5rem; }
.tc-rank-card__price { flex: none; text-align: right; }
.tc-rank-card__price strong { display: block; color: var(--tc-text); font: 900 1.15rem var(--tc-font-mono); }
.tc-rank-card__price span { display: block; }
.tc-rank-card__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 14px 0; }
.tc-rank-card__metrics div { min-width: 0; padding: 9px 7px; background: var(--tc-surface-2); border: 1px solid var(--tc-line); text-align: center; }
.tc-rank-card__metrics span, .tc-rank-card__metrics strong { display: block; }
.tc-rank-card__metrics span { min-height: 2.2em; color: var(--tc-text-muted); font-size: .64rem; line-height: 1.25; }
.tc-rank-card__metrics strong { margin-top: 4px; color: var(--rank-color); font: 900 .9rem var(--tc-font-mono); }
.tc-rank-card__global-boost, .tc-rank-card__backrooms { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: start; gap: 9px; margin: 0 0 12px; color: var(--tc-text-muted); font-size: .76rem; line-height: 1.5; }
.tc-rank-card__global-boost { padding: 11px 12px; background: color-mix(in srgb, var(--rank-color) 8%, var(--tc-surface-2)); border: 1px solid color-mix(in srgb, var(--rank-color) 28%, var(--tc-line)); }
.tc-rank-card__global-boost i, .tc-rank-card__backrooms i { color: var(--rank-color); font-size: 1.05rem; }
.tc-rank-card__global-boost strong { color: var(--tc-text); }
.tc-rank-card__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0 0 12px; }
.tc-rank-card__facts > div { min-width: 0; padding: 10px 11px; background: var(--tc-surface-2); border: 1px solid var(--tc-line); }
.tc-rank-card__facts dt { margin: 0 0 5px; color: var(--tc-text-muted); font-size: .64rem; font-weight: 900; line-height: 1.35; letter-spacing: .015em; }
.tc-rank-card__facts dd { margin: 0; color: var(--tc-text); font: 900 .8rem/1.35 var(--tc-font-mono); }
.tc-rank-card__facts dd small { display: block; margin-top: 4px; color: var(--tc-text-muted); font: 700 .6rem/1.4 var(--tc-font-body); }
.tc-rank-card__facts code { color: inherit; font-size: inherit; }
.tc-rank-card__backrooms { margin-bottom: 14px; }
.tc-rank-card__details { margin-bottom: 8px; background: var(--tc-surface-2); border: 1px solid var(--tc-line); }
.tc-rank-card__details summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; color: var(--tc-text); cursor: pointer; font-size: .76rem; font-weight: 900; list-style: none; }
.tc-rank-card__details summary span small { margin-left: 5px; color: var(--tc-text-muted); font-size: .61rem; font-weight: 700; }
.tc-rank-card__details summary::-webkit-details-marker { display: none; }
.tc-rank-card__details summary i { transition: transform .18s ease; }
.tc-rank-card__details[open] summary i { transform: rotate(180deg); }
.tc-rank-card__details > p { margin: 0; padding: 0 12px 12px; color: var(--tc-text-muted); font-size: .68rem; line-height: 1.5; }
.tc-rank-reward-chest { position: relative; margin: 0 12px 10px; padding: 8px; overflow: hidden; background: color-mix(in srgb, #8f5c2c 64%, var(--tc-surface)); border: 3px solid color-mix(in srgb, #4a2b14 70%, var(--tc-line)); box-shadow: inset 0 0 0 2px color-mix(in srgb, #d99b4f 44%, transparent), 0 3px 0 color-mix(in srgb, #241409 55%, transparent); }
.tc-rank-reward-chest::before { content: ""; position: absolute; inset: 35px 0 auto; border-top: 2px solid color-mix(in srgb, #d99b4f 58%, transparent); box-shadow: 0 3px 0 color-mix(in srgb, #3b210f 55%, transparent); pointer-events: none; }
.tc-rank-reward-chest__lid { position: relative; display: flex; align-items: center; justify-content: center; min-height: 31px; padding: 0 34px; color: #fff4d8; text-shadow: 0 2px 0 #4a2b14; font: 900 .66rem var(--tc-font-mono); letter-spacing: .055em; }
.tc-rank-reward-chest__lid i { position: absolute; left: 50%; bottom: -8px; z-index: 2; width: 18px; height: 14px; transform: translateX(-50%); background: #d9aa54; border: 2px solid #4a2b14; box-shadow: inset 0 0 0 2px #f2d17f; }
.tc-rank-reward-chest__grid { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(78px, 1fr)); gap: 6px; margin: 8px 0 0; padding: 6px; list-style: none; background: color-mix(in srgb, #3b2414 58%, var(--tc-surface-2)); border: 2px solid color-mix(in srgb, #3b210f 70%, var(--tc-line)); }
.tc-rank-reward-chest__slot { min-width: 0; padding: 5px 4px 6px; background: color-mix(in srgb, var(--tc-surface) 82%, #c69657); border: 2px solid color-mix(in srgb, var(--tc-line) 64%, #3b2717); box-shadow: inset 2px 2px 0 color-mix(in srgb, #fff 24%, transparent), inset -2px -2px 0 color-mix(in srgb, #25160c 28%, transparent); text-align: center; }
.tc-rank-reward-chest__slot[data-rank-item-tooltip] { cursor: help; }
.tc-rank-reward-chest__slot[data-rank-item-tooltip]:focus-visible { outline: 3px solid color-mix(in srgb, var(--rank-color) 76%, #fff); outline-offset: 2px; }
.tc-rank-reward-chest__item { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 1; min-height: 56px; }
.tc-rank-reward-chest__item img { display: block; width: min(54px, 76%); height: min(54px, 76%); object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 3px 0 color-mix(in srgb, #000 28%, transparent)); }
.tc-rank-reward-chest__slot--block .tc-rank-reward-chest__item img { width: 94%; height: 94%; }
.tc-rank-reward-chest__item strong { position: absolute; right: 1px; bottom: 0; padding: 1px 3px; color: #fff; background: color-mix(in srgb, #17100c 82%, transparent); border: 1px solid color-mix(in srgb, #fff 22%, transparent); text-shadow: 0 1px 0 #000; font: 900 .65rem var(--tc-font-mono); }
.tc-rank-reward-chest__name { display: block; min-height: 2.7em; margin-top: 4px; overflow-wrap: anywhere; color: var(--tc-text); font-size: .61rem; font-weight: 850; line-height: 1.3; }
.tc-rank-item-tooltip { position: fixed; z-index: 1400; width: max-content; max-width: min(330px, calc(100vw - 16px)); padding: 10px 12px; pointer-events: none; border: 2px solid #25005a; background: rgba(16, 0, 16, .97); color: #aaa; box-shadow: inset 0 0 0 1px #5000a8, 0 9px 0 rgba(0, 0, 0, .08), 0 16px 34px rgba(0, 0, 0, .46); font: 750 .76rem/1.38 var(--tc-font-mono); text-align: left; text-shadow: 1px 1px 0 #000; }
.tc-rank-item-tooltip[hidden] { display: none; }
.tc-rank-item-tooltip strong { display: block; margin-bottom: 6px; color: #fff; font-size: .84rem; font-weight: 900; line-height: 1.25; }
.tc-rank-item-tooltip__lore, .tc-rank-item-tooltip__lore i { display: block; }
.tc-rank-item-tooltip__lore i { color: #aaa; font: inherit; }
.tc-rank-item-tooltip__lore i:first-child { color: #d8b7ff; }
.tc-rank-item-tooltip__lore i.is-gap { height: .52em; }
.tc-rank-command-list { display: grid; gap: 6px; margin: 0; padding: 0 11px 11px; list-style: none; }
.tc-rank-command-list li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: start; color: var(--tc-text-muted); font-size: .67rem; line-height: 1.45; }
.tc-rank-card > .tc-btn { margin-top: auto; }

.tc-boss-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.tc-boss-card { min-width: 0; padding: 20px; background: var(--tc-surface); border: 2px solid var(--tc-line); border-top: 5px solid var(--tc-primary); box-shadow: var(--tc-shadow-sm); }
.tc-boss-card header { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.tc-boss-card header span { color: var(--tc-text-muted); font: 800 .68rem var(--tc-font-mono); }
.tc-boss-card h2 { margin: 3px 0 0; font-size: 1.25rem; }
.tc-boss-card dl { display: grid; gap: 8px; margin: 0; }
.tc-boss-card dl > div { padding: 10px; background: var(--tc-surface-2); border: 1px solid var(--tc-line); }
.tc-boss-card dt { margin-bottom: 3px; color: var(--tc-primary); font-size: .66rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.tc-boss-card dd { margin: 0; color: var(--tc-text-muted); font-size: .77rem; line-height: 1.55; }
.tc-holding-war-grid .tc-wiki-card > i { color: var(--tc-primary); font-size: 1.35rem; }
.tc-holding-war-grid code { display: inline-block; margin-top: 8px; }
.tc-holding-command-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.tc-item-catalog-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .34fr); gap: 9px; margin-bottom: 14px; }
.tc-item-search, .tc-item-category { display: flex; align-items: center; min-width: 0; min-height: 44px; background: var(--tc-surface-2); border: 1px solid var(--tc-line); }
.tc-item-search { gap: 8px; padding: 0 12px; }
.tc-item-search i { color: var(--tc-primary); }
.tc-item-search input, .tc-item-category select { width: 100%; min-width: 0; color: var(--tc-text); background: transparent; border: 0; outline: 0; font: 700 .78rem var(--tc-font-body); }
.tc-item-category { padding-left: 10px; }
.tc-item-category > span { flex: none; color: var(--tc-text-muted); font-size: .65rem; font-weight: 900; }
.tc-item-category select { height: 42px; padding: 0 9px; }
.tc-item-category option { color: #171217; background: #fff; }

[data-item-entry][hidden] { display: none !important; }

/* Header account identity: use the same LeaderOS skin avatar as the profile page. */
.tc-nav__avatar {
	overflow: hidden;
	padding: 0 !important;
}

.tc-nav__avatar-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	image-rendering: pixelated;
}

/* professional.css hides both nodes and leaves only its pseudo status light. */
@media (min-width: 1180px) {
	.tc-nav__online::before { display: none; }
	.tc-nav__online .tc-nav__online-dot { display: block; }
	.tc-nav__online .tc-nav__online-text { display: inline; }
}

/* The complete account cluster is wider when a player is signed in. Use the
   drawer below 1600px instead of allowing page-dependent horizontal overflow. */
@media (min-width: 941px) and (max-width: 1799px) {
	.tc-nav__links { display: none !important; }
	.tc-nav__toggle { display: inline-flex !important; }
	.tc-nav__actions { transform: none; }
}

@media (max-width: 760px) {
	.tc-home-pillars, .tc-home-progression-grid, .tc-game-loop-grid, .tc-world-route-groups, .tc-gem-rarity-grid, .tc-rank-shared-strip, .tc-rank-showcase, .tc-boss-grid { grid-template-columns: 1fr; }
	.tc-home-pillars p, .tc-game-loop-grid p { min-height: 0; }
	.tc-play-layout, .tc-world-chapter-grid, .tc-world-detail-grid { grid-template-columns: 1fr; }
	.tc-play-card { position: static; }
	.tc-rank-card__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tc-rank-reward-chest__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tc-holding-command-list { grid-template-columns: 1fr; }
	.tc-item-catalog-toolbar { grid-template-columns: 1fr; }
	.tc-item-detail { grid-template-columns: 1fr; padding: 14px; }
	.tc-crafting-window { padding: 12px; }
	.tc-crafting-layout { grid-template-columns: 144px 28px minmax(62px, 1fr); gap: 6px; }
	.tc-crafting-grid { grid-template-columns: repeat(3, 44px); grid-template-rows: repeat(3, 44px); gap: 4px; }
	.tc-crafting-slot { width: 44px; height: 44px; }
	.tc-crafting-slot img { max-width: 36px; max-height: 36px; }
	.tc-crafting-arrow { width: 24px; height: 13px; }
	.tc-crafting-arrow::after { right: -7px; top: -7px; border-top-width: 14px; border-bottom-width: 14px; border-left-width: 12px; }
	.tc-furnace-layout { grid-template-columns: 58px 54px minmax(72px, 1fr); gap: 12px; padding: 4px 8px; }
	.tc-furnace-progress { width: 40px; height: 20px; }
	.tc-furnace-progress::after { right: -15px; top: -7px; border-top-width: 15px; border-bottom-width: 15px; border-left-width: 16px; }
	.tc-world-unlock-panel__header { grid-template-columns: 46px minmax(0, 1fr); }
	.tc-world-unlock-panel__icon { width: 46px; height: 46px; }
	.tc-world-unlock-steps { grid-template-columns: 1fr; }
	.tc-world-recipe ul, .tc-world-discovery-list { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
	.tc-rank-card { padding: 14px; }
	.tc-rank-card__header { align-items: center; }
	.tc-rank-card__header h2 { font-size: 1.25rem; }
	.tc-rank-card__facts { grid-template-columns: 1fr; }
	.tc-rank-reward-chest { margin-right: 8px; margin-left: 8px; padding: 6px; }
	.tc-rank-reward-chest__grid { gap: 4px; padding: 4px; }
	.tc-rank-reward-chest__slot { padding-right: 3px; padding-left: 3px; }
	.tc-rank-reward-chest__name { font-size: .58rem; }
}

/* Home supporter podium. This is one compact game scene rather than three
   dashboard cards; empty ranks deliberately remain empty until real orders
   qualify for the server-side leaderboard projection. */
.tc-home-supporters {
	padding-top: 34px !important;
	padding-bottom: 14px !important;
}

.tc-supporters-shell {
	position: relative;
	isolation: isolate;
	min-width: 0;
	padding: 22px 26px 18px;
	overflow: hidden;
	background: transparent;
	border-block: 2px solid var(--tc-line);
	box-shadow: none;
}

.tc-supporters-shell::before {
	content: none;
}

.tc-supporters-header {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
}

.tc-supporters-header h2 {
	margin: 4px 0 4px;
	color: var(--tc-text);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.tc-supporters-header p {
	margin: 0;
	color: var(--tc-text-muted);
	font-size: .78rem;
}

.tc-supporters-periods {
	display: inline-grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	flex: 0 1 390px;
	min-width: min(100%, 330px);
	padding: 3px;
	background: color-mix(in srgb, var(--tc-surface-2) 88%, transparent);
	border: 1px solid var(--tc-line);
}

.tc-supporters-period {
	min-width: 0;
	min-height: 40px;
	padding: 7px 10px;
	color: var(--tc-text-muted);
	background: transparent;
	border: 0;
	cursor: pointer;
	font: 900 .69rem/1.15 var(--tc-font-mono);
	transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.tc-supporters-period:hover {
	color: var(--tc-text);
	background: color-mix(in srgb, var(--tc-primary) 9%, transparent);
}

.tc-supporters-period.is-active {
	color: #fff;
	background: linear-gradient(145deg, color-mix(in srgb, var(--tc-primary) 82%, #813854), color-mix(in srgb, var(--tc-primary) 58%, #bc6888));
	box-shadow: inset 0 -3px 0 color-mix(in srgb, #3c1124 42%, transparent), 0 3px 10px color-mix(in srgb, var(--tc-primary) 22%, transparent);
}

.tc-supporters-period:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--tc-primary) 62%, #fff);
	outline-offset: 2px;
}

.tc-supporters-panels { min-width: 0; }
.tc-supporters-panel[hidden] { display: none !important; }

.tc-supporters-podium {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-areas: "second first third";
	align-items: end;
	gap: clamp(5px, 2vw, 20px);
	width: min(100%, 780px);
	min-height: 288px;
	margin: 4px auto 0;
	padding: 0;
	list-style: none;
}

.tc-supporter-entry {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
	text-align: center;
}

.tc-supporter-entry[data-rank="1"] { grid-area: first; }
.tc-supporter-entry[data-rank="2"] { grid-area: second; }
.tc-supporter-entry[data-rank="3"] { grid-area: third; }

.tc-supporter-character {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	min-width: 0;
	height: 188px;
	isolation: isolate;
}

.tc-supporter-entry[data-rank="1"] .tc-supporter-character { height: 210px; }
.tc-supporter-nameplate {
	position: relative;
	z-index: 5;
	display: block;
	flex: 0 0 auto;
	max-width: min(100%, 210px);
	margin: 0 auto -3px;
	padding: 6px 12px 7px;
	overflow: hidden;
	color: #fff;
	background: rgba(12, 12, 15, .84);
	border: 1px solid rgba(255, 255, 255, .22);
	box-shadow: 0 3px 0 rgba(0, 0, 0, .18);
	font: 900 .84rem/1 var(--tc-font-mono);
	text-overflow: ellipsis;
	text-shadow: 1px 1px 0 #000;
	white-space: nowrap;
}

.tc-supporter-avatar-wrap {
	--avatar-width: 157px;
	--avatar-column-width: 100%;
	position: relative;
	z-index: 2;
	display: grid;
	place-items: end center;
	width: min(var(--avatar-column-width), var(--avatar-width));
	height: auto;
	margin: 0 auto -2px;
	aspect-ratio: 12 / 13;
}

.tc-supporter-entry[data-rank="1"] .tc-supporter-avatar-wrap {
	--avatar-width: 177px;
}

.tc-supporter-entry[data-rank="2"] .tc-supporter-avatar-wrap {
	--avatar-width: 164px;
	--avatar-column-width: 92%;
}

.tc-supporter-entry[data-rank="3"] .tc-supporter-avatar-wrap {
	--avatar-width: 150px;
	--avatar-column-width: 84%;
}

.tc-supporter-avatar {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 12 / 13;
	opacity: 0;
	object-fit: contain;
	filter: drop-shadow(4px 5px 0 color-mix(in srgb, #2a1620 22%, transparent));
	image-rendering: pixelated;
	transition: opacity .18s ease;
}

.tc-supporter-avatar-wrap.is-ready .tc-supporter-avatar { opacity: 1; }
.tc-supporter-avatar-fallback {
	position: absolute;
	left: 50%;
	bottom: 20px;
	display: grid;
	place-items: center;
	width: 68px;
	height: 82px;
	transform: translateX(-50%);
	color: color-mix(in srgb, var(--tc-text-muted) 72%, transparent);
	background: color-mix(in srgb, var(--tc-surface-2) 70%, transparent);
	border: 2px dashed color-mix(in srgb, var(--tc-line) 88%, transparent);
	font-size: 1.55rem;
}

.tc-supporter-avatar-wrap.is-ready .tc-supporter-avatar-fallback { display: none; }
.tc-supporter-avatar-wrap.is-unavailable .tc-supporter-avatar-fallback { opacity: .68; }

.tc-supporter-empty {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 7px;
	width: min(100%, 142px);
	height: 126px;
	margin: 0 auto 14px;
	padding: 12px;
	color: var(--tc-text-muted);
	background: color-mix(in srgb, var(--tc-surface-2) 56%, transparent);
	border: 2px dashed color-mix(in srgb, var(--tc-line) 85%, transparent);
}

.tc-supporter-entry[data-rank="1"] .tc-supporter-empty { height: 145px; }
.tc-supporter-empty i { color: color-mix(in srgb, var(--tc-primary) 65%, var(--tc-text-muted)); font-size: 1.6rem; }
.tc-supporter-empty span { max-width: 11em; font: 800 .66rem/1.35 var(--tc-font-mono); }

.tc-supporter-stage {
	--stage-fallback: #aeb5bf;
	--stage-shadow: rgba(20, 22, 27, .42);
	position: relative;
	display: grid;
	place-items: center;
	min-height: 0;
	width: 92%;
	margin-inline: auto;
	aspect-ratio: 3 / 1;
	overflow: hidden;
	isolation: isolate;
	color: #fff;
	background: var(--stage-fallback);
	border: 0;
	border-radius: 0;
	box-shadow: 5px 5px 0 var(--stage-shadow);
}

.tc-supporter-stage::before {
	content: none;
}

.tc-supporter-stage-texture {
	position: absolute;
	z-index: 0;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	image-rendering: pixelated;
	pointer-events: none;
	user-select: none;
}

.tc-supporter-entry[data-rank="1"] .tc-supporter-stage {
	--stage-fallback: #d6a928;
	--stage-shadow: rgba(74, 48, 4, .5);
	width: 100%;
}

.tc-supporter-entry[data-rank="3"] .tc-supporter-stage {
	--stage-fallback: #b66d4f;
	--stage-shadow: rgba(63, 31, 20, .48);
	width: 84%;
}

.tc-supporter-stage span {
	position: relative;
	z-index: 2;
	display: block;
	color: #fff;
	font: 1000 clamp(1.1rem, 2.4vw, 1.65rem)/1 var(--tc-font-mono);
	text-shadow:
		-2px -2px 0 rgba(23, 17, 14, .78),
		2px -2px 0 rgba(23, 17, 14, .78),
		-2px 2px 0 rgba(23, 17, 14, .78),
		2px 2px 0 rgba(23, 17, 14, .78);
}

.tc-supporter-entry[data-rank="1"] .tc-supporter-stage span {
	font-size: clamp(1.35rem, 2.8vw, 1.95rem);
}

.tc-supporter-amount {
	--supporter-amount-color: #586577;
	display: inline-flex;
	align-items: center;
	align-self: center;
	justify-content: center;
	gap: 6px;
	max-width: calc(100% - 8px);
	margin: 10px auto 0;
	color: var(--supporter-amount-color);
	font: 1000 clamp(.76rem, 1.05vw, .92rem)/1 var(--tc-font-mono);
	letter-spacing: .025em;
	text-align: center;
	text-shadow: 0 1px 0 color-mix(in srgb, var(--tc-surface) 92%, transparent);
	white-space: nowrap;
}

.tc-supporter-amount > span {
	font-size: .72em;
	line-height: 1;
}

.tc-supporter-entry[data-rank="1"] .tc-supporter-amount { --supporter-amount-color: #9a6900; }
.tc-supporter-entry[data-rank="3"] .tc-supporter-amount { --supporter-amount-color: #9a4f34; }

html[data-color-theme="dark"] .tc-supporters-shell {
	background: transparent;
	box-shadow: none;
}

html[data-color-theme="dark"] .tc-supporters-periods { background: rgba(12, 12, 15, .72); }
html[data-color-theme="dark"] .tc-supporter-empty,
html[data-color-theme="dark"] .tc-supporter-avatar-fallback { background: rgba(18, 18, 23, .7); }
html[data-color-theme="dark"] .tc-supporter-amount {
	--supporter-amount-color: #cbd3df;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .72);
}
html[data-color-theme="dark"] .tc-supporter-entry[data-rank="1"] .tc-supporter-amount { --supporter-amount-color: #ffd56b; }
html[data-color-theme="dark"] .tc-supporter-entry[data-rank="3"] .tc-supporter-amount { --supporter-amount-color: #e7a07f; }

@media (max-width: 760px) {
	.tc-home-supporters { padding-top: 26px !important; }
	.tc-supporters-shell { padding: 18px 12px 13px; }
	.tc-supporters-header { align-items: stretch; flex-direction: column; gap: 13px; }
	.tc-supporters-header p { font-size: .74rem; }
	.tc-supporters-periods { flex-basis: auto; width: 100%; min-width: 0; }
	.tc-supporters-period { min-height: 44px; padding-inline: 6px; font-size: .65rem; }
	.tc-supporters-podium { gap: 4px; min-height: 236px; margin-top: 8px; }
	.tc-supporter-character { height: 148px; }
	.tc-supporter-entry[data-rank="1"] .tc-supporter-character { height: 167px; }
	.tc-supporter-avatar-wrap { --avatar-width: 122px; }
	.tc-supporter-entry[data-rank="1"] .tc-supporter-avatar-wrap { --avatar-width: 139px; }
	.tc-supporter-entry[data-rank="2"] .tc-supporter-avatar-wrap { --avatar-width: 128px; }
	.tc-supporter-entry[data-rank="3"] .tc-supporter-avatar-wrap { --avatar-width: 117px; }
	.tc-supporter-nameplate { max-width: calc(100% - 4px); padding: 5px 8px 6px; font-size: .68rem; }
	.tc-supporter-empty { width: calc(100% - 7px); height: 99px; margin-bottom: 9px; padding: 7px 4px; }
	.tc-supporter-entry[data-rank="1"] .tc-supporter-empty { height: 114px; }
	.tc-supporter-empty i { font-size: 1.25rem; }
	.tc-supporter-empty span { font-size: .54rem; }
	.tc-supporter-stage { min-height: 0; box-shadow: 4px 4px 0 var(--stage-shadow); }
	.tc-supporter-stage span { font-size: 1.1rem; }
	.tc-supporter-entry[data-rank="1"] .tc-supporter-stage span { font-size: 1.35rem; }
	.tc-supporter-amount { gap: 4px; margin-top: 8px; font-size: clamp(.62rem, 2.6vw, .76rem); }
}

@media (max-width: 380px) {
	.tc-supporters-shell { padding-inline: 7px; }
	.tc-supporters-header { padding-inline: 5px; }
	.tc-supporters-podium { min-height: 220px; }
	.tc-supporter-character { height: 137px; }
	.tc-supporter-entry[data-rank="1"] .tc-supporter-character { height: 155px; }
	.tc-supporter-avatar-wrap { --avatar-width: 114px; }
	.tc-supporter-entry[data-rank="1"] .tc-supporter-avatar-wrap { --avatar-width: 130px; }
	.tc-supporter-entry[data-rank="2"] .tc-supporter-avatar-wrap { --avatar-width: 120px; }
	.tc-supporter-entry[data-rank="3"] .tc-supporter-avatar-wrap { --avatar-width: 109px; }
	.tc-supporter-nameplate { padding-inline: 7px; font-size: .64rem; }
	.tc-supporter-empty span { max-width: 8em; }
}

@media (prefers-reduced-motion: reduce) {
	.tc-supporters-period,
	.tc-supporter-avatar { transition: none; }
}

/* Block catalog renders: 3D model PNGs must not be treated as pixel sprites. */
.tc-item-card__eyebrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
}
.tc-item-card__eyebrow > span { min-width: 0; }
.tc-item-card__eyebrow > b {
	flex: 0 0 auto;
	padding: 3px 5px;
	border: 1px solid var(--tc-line-soft);
	background: color-mix(in srgb, var(--tc-primary) 8%, var(--tc-surface));
	color: var(--tc-primary);
	font: 800 .55rem var(--tc-font-mono);
	letter-spacing: .04em;
}
.tc-item-card__icon.is-3d-render {
	background: var(--tc-surface-3);
}
.tc-plugin-item-texture.is-3d-render {
	image-rendering: auto;
	filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .24));
}
.tc-item-entry.is-block-item .tc-item-card {
	grid-template-columns: 112px minmax(0, 1fr);
	align-items: center;
}
.tc-item-entry.is-block-item .tc-item-card__icon.is-3d-render {
	width: 112px;
	height: 112px;
	border-color: var(--tc-line);
}
.tc-item-entry.is-block-item .tc-plugin-item-texture.is-3d-render {
	width: 104px;
	height: 104px;
	object-fit: contain;
}
.tc-item-detail__block-render {
	display: grid;
	width: min(100%, 260px);
	min-height: 226px;
	place-items: center;
	gap: 4px;
	margin: 4px 0 14px;
	padding: 10px;
	border: 1px solid var(--tc-line);
	background: var(--tc-surface-3);
}
.tc-item-detail__block-render img {
	display: block;
	width: 192px;
	height: 192px;
	object-fit: contain;
	filter: drop-shadow(0 8px 7px rgba(0, 0, 0, .25));
}
.tc-item-detail__block-render figcaption {
	color: var(--tc-text-muted);
	font: 800 .68rem var(--tc-font-mono);
	letter-spacing: .04em;
	text-transform: uppercase;
}
.tc-item-render-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 12px;
	padding: 9px 10px;
	border-left: 3px solid var(--tc-primary);
	background: color-mix(in srgb, var(--tc-primary) 7%, var(--tc-surface-2));
	color: var(--tc-text-muted);
	font-size: .74rem;
	line-height: 1.5;
}
.tc-item-render-note i { flex: 0 0 auto; color: var(--tc-primary); }

@media (max-width: 560px) {
	.tc-item-entry.is-block-item .tc-item-card {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 10px;
	}
	.tc-item-entry.is-block-item .tc-item-card__icon.is-3d-render {
		width: 88px;
		height: 88px;
	}
	.tc-item-entry.is-block-item .tc-plugin-item-texture.is-3d-render {
		width: 82px;
		height: 82px;
	}
	.tc-item-card__eyebrow { align-items: flex-start; flex-direction: column; }
	.tc-item-card__eyebrow > b { white-space: normal; }
	.tc-item-detail__block-render { width: 100%; }
}

.tc-wiki-storage-guide { margin-top: 16px; }
.tc-wiki-storage-guide__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.tc-wiki-storage-guide__grid article {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	align-items: start;
	gap: 9px;
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--tc-line-soft);
	border-bottom: 2px solid var(--tc-line);
	background: var(--tc-surface-2);
}
.tc-wiki-storage-guide__grid article > i {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--tc-line);
	background: var(--tc-surface);
	color: var(--tc-primary);
}
.tc-wiki-storage-guide__grid strong { display: block; font-size: .78rem; }
.tc-wiki-storage-guide__grid p { margin: 5px 0 0; color: var(--tc-text-muted); font-size: .72rem; line-height: 1.5; }
.tc-wiki-storage-guide__grid code { color: var(--tc-text); }
.tc-wiki-storage-guide .tc-wiki-actions { margin-top: 14px; }
@media (max-width: 760px) {
	.tc-wiki-storage-guide__grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   World catalog preview — one background plane, never a card overlay
   =====================================================================

   The catalog used to paint the same artwork in body pseudo-elements, the
   catalog pseudo-elements and an absolutely positioned card-local layer.
   Those planes had different stacking contexts, which is why a hover could
   look like a square light in front of the navigation.  The JS stage below
   is the only artwork plane.  It is a direct body child, while every other
   page child remains above it through the existing layout z-index contract.
*/
body.tc-page.has-world-preview-layers {
	isolation: isolate;
}
body.tc-page.has-world-preview-layers > *:not(.tc-world-preview-stage) {
	position: relative;
	z-index: 1;
}
.tc-world-preview-stage {
	position: fixed !important;
	inset: 0 !important;
	z-index: 0 !important;
	overflow: hidden;
	pointer-events: none !important;
	opacity: 0;
	transition: opacity 360ms cubic-bezier(.22, .7, .2, 1);
}
body.tc-page.has-world-preview-layers.is-world-previewing .tc-world-preview-stage {
	opacity: .19;
}
html[data-color-theme="dark"] body.tc-page.has-world-preview-layers.is-world-previewing .tc-world-preview-stage {
	opacity: .24;
}
body.tc-page.has-world-preview-layers.is-world-preview-leaving .tc-world-preview-stage {
	opacity: 0;
}
.tc-world-preview-stage .tc-world-preview-layer {
	position: absolute !important;
	inset: -8% !important;
	width: auto !important;
	height: auto !important;
	z-index: 0 !important;
	display: block;
	pointer-events: none !important;
	opacity: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: var(--world-preview-focus-x, 50%) var(--world-preview-focus-y, 44%);
	filter: saturate(.88) contrast(.94) brightness(.84);
	transform: translateZ(0) scale(1.015);
	border-radius: 0 !important;
	transition: opacity 360ms cubic-bezier(.22, .7, .2, 1), background-position 300ms ease;
	-webkit-mask-image: radial-gradient(ellipse 78% 76% at 50% 44%,
		#000 0%, rgba(0, 0, 0, .98) 40%, rgba(0, 0, 0, .62) 68%, rgba(0, 0, 0, .18) 88%, transparent 100%);
	mask-image: radial-gradient(ellipse 78% 76% at 50% 44%,
		#000 0%, rgba(0, 0, 0, .98) 40%, rgba(0, 0, 0, .62) 68%, rgba(0, 0, 0, .18) 88%, transparent 100%);
}

/* Disable every legacy image-bearing plane while the authoritative stage is active. */
body.tc-page.has-world-preview-layers.is-world-previewing::before,
body.tc-page.has-world-preview-layers.is-world-previewing::after,
body.tc-page.has-world-preview-layers.is-world-preview-leaving::before {
	display: none !important;
	background-image: none !important;
}
body.tc-page.has-world-preview-layers .tc-wiki-page::before,
body.tc-page.has-world-preview-layers .tc-world-catalog::before,
body.tc-page.has-world-preview-layers .tc-world-catalog::after {
	display: none !important;
	content: none !important;
}
body.tc-page.has-world-preview-layers .tc-world-catalog .tc-world-preview-layer {
	position: static !important;
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.tc-world-preview-stage,
	.tc-world-preview-stage .tc-world-preview-layer {
		transition-duration: 1ms !important;
	}
}

@media (max-width: 640px) {
	/* Touch devices do not have a hover preview; keep the page palette clean. */
	.tc-world-preview-stage {
		display: none !important;
	}
}
