/**
 * Публичные блоки: тайминг и результаты этапа.
 * Лёгкие стили без зависимостей — работают на любой теме.
 */

.nzc-pub {
	--pub-ink: #1d1a26;
	--pub-mut: #6b6675;
	--pub-line: #e6e2ec;
	--pub-accent: #b249ff;
	--pub-gold: #c8a24b;
	font-family: inherit;
	color: var(--pub-ink);
	margin: 28px 0;
}

.nzc-pub-h {
	font-size: clamp(22px, 3vw, 30px);
	margin: 0 0 6px;
	line-height: 1.2;
}

.nzc-pub-sub {
	color: var(--pub-mut);
	margin: 0 0 18px;
	font-size: 15px;
}

.nzc-pub-empty {
	color: var(--pub-mut);
	background: rgba(178, 73, 255, 0.06);
	border: 1px dashed var(--pub-line);
	border-radius: 10px;
	padding: 18px 20px;
	margin: 0;
}

/* Таблица прокручивается по горизонтали на узких экранах. */
.nzc-pub-wrap {
	overflow-x: auto;
	border: 1px solid var(--pub-line);
	border-radius: 12px;
}

.nzc-pub-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	min-width: 520px;
}

.nzc-pub-table th {
	text-align: left;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pub-mut);
	font-weight: 600;
	padding: 12px 14px;
	border-bottom: 1px solid var(--pub-line);
	background: rgba(0, 0, 0, 0.02);
}

.nzc-pub-table td {
	padding: 11px 14px;
	border-bottom: 1px solid var(--pub-line);
	vertical-align: top;
}

.nzc-pub-table tr:last-child td { border-bottom: none; }
.nzc-pub-table tbody tr:hover td { background: rgba(178, 73, 255, 0.04); }

.nzc-pub-break td {
	background: rgba(178, 73, 255, 0.08);
	color: var(--pub-ink);
}

.nzc-pub-mut { color: var(--pub-mut); font-size: 14px; }

.nzc-pub-award {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	border: 1px solid var(--pub-gold);
	color: #8a6d1f;
	font-size: 13px;
	white-space: nowrap;
}

.nzc-pub-note {
	color: var(--pub-mut);
	font-size: 13px;
	margin: 10px 0 0;
}

@media (prefers-color-scheme: dark) {
	.nzc-pub {
		--pub-ink: #ece9f5;
		--pub-mut: #a29db0;
		--pub-line: rgba(255, 255, 255, 0.14);
	}
	.nzc-pub-table th { background: rgba(255, 255, 255, 0.04); }
	.nzc-pub-award { color: var(--pub-gold); }
}

/* ── Табло зала [nzc_board]: крупно, читается с последнего ряда ── */
.nzb-wrap { background: #26262B; color: #F2F2EF; padding: clamp(20px, 4vw, 48px); font-family: "Geologica", system-ui, sans-serif; min-height: 60vh; display: flex; flex-direction: column; gap: clamp(18px, 3vh, 40px); }
.nzb-head { display: flex; align-items: center; gap: 14px; font-size: clamp(14px, 1.6vw, 20px); color: #A5A5A0; border-bottom: 1px solid rgba(242,242,239,.14); padding-bottom: 14px; }
.nzb-head b { color: #F2F2EF; font-weight: 700; }
.nzb-clock { margin-left: auto; font-variant-numeric: tabular-nums; color: #CCFF00; font-weight: 700; }
.nzb-dot { width: 10px; height: 10px; background: #CCFF00; border-radius: 50%; flex: none; }
.nzb-label { display: block; font-size: clamp(11px, 1.1vw, 14px); letter-spacing: .2em; text-transform: uppercase; color: #CCFF00; margin-bottom: 10px; }
.nzb-troupe { font-size: clamp(34px, 7vw, 96px); line-height: 1.02; font-weight: 700; letter-spacing: -.04em; text-transform: uppercase; }
.nzb-title { font-size: clamp(20px, 2.6vw, 40px); color: #F2F2EF; margin-top: 6px; }
.nzb-troupe2 { font-size: clamp(22px, 3.4vw, 52px); line-height: 1.05; font-weight: 700; letter-spacing: -.03em; color: #A5A5A0; }
.nzb-meta { margin-top: 8px; color: #9A9A96; font-size: clamp(13px, 1.4vw, 19px); }
.nzb-next { border-top: 1px solid rgba(242,242,239,.14); padding-top: clamp(14px, 2vh, 26px); }
.nzb-soon { display: grid; gap: 4px; margin-top: auto; }
.nzb-row { color: #7E7E7A; font-size: clamp(12px, 1.3vw, 17px); font-variant-numeric: tabular-nums; padding: 5px 0; border-top: 1px solid rgba(242,242,239,.08); }
.nzb-note { color: #7E7E7A; font-size: 13px; margin: 0; }
.nzb-empty { color: #A5A5A0; padding: 40px 0; }
