html.pb-public-dark {
	--accent: var(--drumix-color-primary);
	--ink: var(--drumix-color-text);
	--sub: var(--drumix-color-muted);
	--line: var(--drumix-color-border);
	--bg: var(--drumix-color-background);
	--panel: var(--drumix-color-surface);
	--heart: var(--drumix-color-danger);
	color-scheme: dark;
}
html.pb-public-dark,
html.pb-public-dark body { background: var(--bg); color: var(--ink); }
html.pb-public-dark .cat-top,
html.pb-public-dark .top {
	border-color: var(--line);
	background: rgba(21,21,23,.92);
}
html.pb-public-dark .cat-logo img,
html.pb-public-dark .brand-logo img,
html.pb-public-dark .logo img { filter: invert(1) hue-rotate(180deg); }
html.pb-public-dark .cat-back,
html.pb-public-dark .btn:not(.primary),
html.pb-public-dark .cat-request-btn.secondary,
html.pb-public-dark .cat-auth-close,
html.pb-public-dark .cat-songreq-close,
html.pb-public-dark .cat-suggest-close,
html.pb-public-dark .auth-close {
	border-color: var(--line);
	background: #2c2c2e;
	color: var(--ink);
}
html.pb-public-dark .cat-back:hover,
html.pb-public-dark .btn:not(.primary):hover,
html.pb-public-dark .cat-request-btn.secondary:hover { background: #3a3a3c; }
html.pb-public-dark .cat-search input,
html.pb-public-dark .cat-request-card,
html.pb-public-dark .cat-item,
html.pb-public-dark .item,
html.pb-public-dark .empty,
html.pb-public-dark .quick,
html.pb-public-dark .step,
html.pb-public-dark .guide-item,
html.pb-public-dark details {
	border-color: var(--line);
	background: var(--panel);
	color: var(--ink);
	box-shadow: none;
}
html.pb-public-dark .cat-item:hover,
html.pb-public-dark .item:hover { background: #242426; box-shadow: none; }
html.pb-public-dark .cat-fav {
	border-color: var(--line);
	background: #2c2c2e;
	color: #8e8e93;
}
html.pb-public-dark .cat-fav:hover,
html.pb-public-dark .cat-fav.on,
html.pb-public-dark .heart {
	border-color: rgba(255,105,97,.34);
	background: rgba(255,105,97,.13);
	color: #ff6961;
}
html.pb-public-dark .cat-diff.beginner,
html.pb-public-dark .diff.beginner { background: rgba(48,209,88,.14); color: #30d158; }
html.pb-public-dark .cat-diff.medium,
html.pb-public-dark .diff.medium { background: rgba(255,159,10,.14); color: #ffb340; }
html.pb-public-dark .cat-diff.advanced,
html.pb-public-dark .diff.advanced { background: rgba(255,69,58,.14); color: #ff6961; }
html.pb-public-dark .tabs,
html.pb-public-dark .cat-auth-tabs,
html.pb-public-dark .auth-tabs { background: #2c2c2e; }
html.pb-public-dark .tabs span,
html.pb-public-dark .cat-auth-tabs button,
html.pb-public-dark .auth-tabs button { color: #a1a1a6; }
html.pb-public-dark .tabs .on,
html.pb-public-dark .cat-auth-tabs button.on,
html.pb-public-dark .auth-tabs button.on {
	background: #48484a;
	color: #fff;
	box-shadow: 0 1px 2px rgba(0,0,0,.35);
}
html.pb-public-dark .cat-auth-overlay,
html.pb-public-dark .cat-songreq-overlay,
html.pb-public-dark .cat-suggest-overlay,
html.pb-public-dark .auth { background: rgba(13,13,15,.80); }
html.pb-public-dark .cat-auth-box,
html.pb-public-dark .cat-songreq-box,
html.pb-public-dark .cat-suggest-box,
html.pb-public-dark .auth-box {
	border-color: var(--line);
	background: var(--panel);
	color: var(--ink);
	box-shadow: 0 20px 60px rgba(0,0,0,.46);
}
html.pb-public-dark .cat-auth-box input,
html.pb-public-dark .cat-songreq-box input[type="text"],
html.pb-public-dark .cat-songreq-box textarea,
html.pb-public-dark .cat-suggest-box textarea,
html.pb-public-dark .auth-box input {
	border-color: rgba(255,255,255,.12);
	background: #2c2c2e;
	color: var(--ink);
}
html.pb-public-dark input::placeholder,
html.pb-public-dark textarea::placeholder { color: #8e8e93; }
html.pb-public-dark .cat-songreq-box input[type="file"] {
	border-color: rgba(255,255,255,.16);
	background: #2c2c2e;
	color: #d1d1d6;
}
html.pb-public-dark .cat-songreq-warn {
	border-color: rgba(255,159,10,.30);
	background: rgba(255,159,10,.12);
	color: #ffb340;
}
html.pb-public-dark .step-num { background: rgba(10,132,255,.16); color: #64d2ff; }
html.pb-public-dark .note {
	border-color: rgba(48,209,88,.28);
	background: rgba(48,209,88,.11);
	color: #5ee77a;
}

.pbPublicThemeToggle {
	flex: 0 0 auto;
	height: 36px;
	padding: 0 11px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 1px solid rgba(0,0,0,.10);
	border-radius: 9px;
	background: rgba(255,255,255,.92);
	color: #3a3a3c;
	font: 650 12px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;
	cursor: pointer;
}
.pbPublicThemeToggle > span:first-child { font-size: 17px; line-height: 1; }
.pbPublicThemeToggle:hover { background: #f2f2f4; }
html.pb-public-dark .pbPublicThemeToggle {
	border-color: rgba(255,255,255,.12);
	background: #2c2c2e;
	color: #f5f5f7;
}
html.pb-public-dark .pbPublicThemeToggle:hover { background: #3a3a3c; }
@media (max-width: 899px) {
	/* Safari не должен увеличивать страницу при фокусе: мобильные поля не меньше 16px. */
	input,
	textarea,
	select { font-size: 16px !important; }
	.pbPublicThemeToggle { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; border-radius: 50%; }
	.pbPublicThemeText { display: none; }
	/* Общие мобильные действия: комфортная зона для большого пальца без изменения desktop-компоновки. */
	#userBtn,
	#emptyLogin,
	#loginTab,
	#regTab,
	#forgotBtn,
	.hero-actions .btn,
	.contact .btn,
	.cat-request-btn,
	.cat-seo-links a { min-height: 44px; }
	#userBtn { min-width: 44px; }
	#forgotBtn { padding: 10px 12px; }
	.cat-seo-links a { display: inline-flex; align-items: center; }
	.logo { min-height: 44px; }
	#catSpiritSuggest { min-height: 44px; padding-top: 10px; padding-bottom: 10px; }
}
