.concept:before {
	content: '\F471';
}
.architecture:before {
	content: '\E10D';
}
.chat::before {
	content:'\F4B4';
}

/* Main Tags Setting */
* { 
	box-sizing: border-box;
}
html {
	scroll-padding-top: 3.5rem;
	font-family: var(--font-roboto);
	font-size: var(--font-size-base);
	line-height: 1.65;
}
h1,
h2,
h3,
header *,
.breadcrumbs { 
	font-family: var(--font-snpro);
	font-weight: normal;
}

@media (max-width: 480px) {
	html {
		line-height: 1.5;
	}
}

body { 
	font-weight: normal;
	background: var(--white-bg); 
	color: var(--black); 
	margin: 0!important; 
	min-height: 100vh;
	padding-top: 3.35rem;
	display: flex;
	flex-direction: column;
}
a {
	color: var(--blue);
	text-decoration: none;
}
a:hover {
	color: var(--biruza);
}
h4,
p,
li {
	margin: 0 0 0.75rem 0;
}
h1 { 
	font-size: 2rem;
	line-height: 1.2;
}
h2,
.h1-grid a {
	font-size: 1.35rem;
	line-height: 1.2;
	font-weight: 500;
}
h2 {
	margin-top: 2.5rem;
}
h3 {
	font-size: 1.05rem;
	line-height: 1.2;
	font-weight: 500;
	display: inline-block;
	margin: 1.5rem 0 1rem 0;
	padding: 4px 8px;
	border-radius: 6px;
	background: var(--gray-08);
}
@media (max-width: 480px) {
	h1 { 
		font-size: 1.5rem;
	}
	h2 {
		font-size: 1.25rem;
		margin-top: 1.5rem;
	}
	h3 {
		font-size: 1rem;
	}
}
h4,
strong {
	font-weight: 600;
}
button { 
	font-size: var(--font-size-middle);
	font-weight: 500;
	white-space:nowrap;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	flex-shrink: 0;
	border: none;
	background: none;
}

ul, ol {
	list-style: none !important;
	padding: 0;
	margin: 0;
}
li {
	list-style: none !important;
	position: relative;
}
li:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 1rem;
	text-align: center;
}
ul li {
	padding: 0 0 0 1.25rem;
}
ul li:before {
	content: '•';
	font-size: 140%;
	line-height: 1.35;
}

/* Цифры в ol — автоматическая нумерация глифами Marfa (1–9) */
@counter-style marfa-digits {
	system: cyclic;
	symbols: "\E0EE" "\E0EF" "\E0F0" "\E0F1" "\E0F2" "\E0F3" "\E0F4" "\E0F5" "\E0F6";
	suffix: " ";
}
ol {
	counter-reset: marfa-n;
}
ol li {
	counter-increment: marfa-n;
	padding: 0 0 0 1.75rem;
}
ol li::before {
	font-family: Marfa;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	content: counter(marfa-n, marfa-digits);
}



/* GENERAL GRID */
.top-bar-inner,
.container { 
	width: 90%; 
	max-width: 900px; 
	margin: 0 auto;
}
.top-bar-inner { 
	padding: 0.75rem 0; 
	display: flex; 
	justify-content: flex-start; 
	align-items: center; 
	gap: 1rem; 
	height: 3.5rem;
}
@media (max-width: 768px) {
	.top-bar-inner,
	.container { 
		width: auto; 
		max-width: none; 
	}
	.top-bar-inner,
	.container { 
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
@media (max-width: 480px) {
	.top-bar-inner { 
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-left: 0.5rem;
		height: 4rem;
	}
}



/* HEADER */

/* «Жидкое стекло» */
header,
.header-mobile-sheet {
	background:
		linear-gradient(
			135deg,
			rgba(240, 240, 240, 0.44) 0%,
			rgba(245, 245, 245, 0.22) 45%,
			rgba(240, 240, 240, 0.38) 100%
		);
	border-bottom: 1px solid rgba(255, 255, 255, 0.55);
	box-shadow:
		0 4px 24px rgba(0, 0, 0, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(18px) saturate(1.35);
	-webkit-backdrop-filter: blur(18px) saturate(1.35);
	transition:
		box-shadow 0.3s ease,
		background 0.3s ease;
}

html[data-theme="dark"] header,
html[data-theme="dark"] .header-mobile-sheet {
	background:
		linear-gradient(
			145deg,
			rgba(40, 40, 44, 0.55) 0%,
			rgba(28, 28, 32, 0.35) 50%,
			rgba(48, 48, 52, 0.45) 100%
		);
	border-bottom-color: rgba(255, 255, 255, 0.12);
	box-shadow:
		0 4px 28px rgba(0, 0, 0, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);
	transition:
		box-shadow 0.3s ease,
		background 0.3s ease;
}

header {
	position: fixed; 
	top: 0; 
	left: 0; 
	width: 100vw;
	overflow: visible;
	z-index: 100;
}

header::after {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	bottom: -0.4rem;
	height: 0.4rem;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.22), rgba(0, 0, 0, 0));
}
html[data-theme="dark"] header::after {
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0));
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	header {
		background: var(--white);
		border-bottom: 1px solid var(--border-color-main);
		box-shadow: none;
	}
	html[data-theme="dark"] header {
		border-bottom-color: var(--black);
	}
	header::after {
		background: linear-gradient(to bottom, rgba(217, 224, 232, 0.7), rgba(0, 0, 0, 0));
	}
	html[data-theme="dark"] header::after {
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
	}
}

.h1-grid {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	line-height: 1;
	flex: 0 1 auto;
	min-width: 0;
}

.h1-grid a {
	font-weight: 500;
	color: var(--black);
}

.header-last-buttons {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: auto;
}

/* Кнопка переключения темы */
.themes-button {
	border-radius: 50%;
	height: 2.5rem;
	width: 2.5rem;
	background:
		linear-gradient(
			135deg,
			rgba(240, 240, 240, 0.34) 0%,
			rgba(245, 245, 245, 0.12) 45%,
			rgba(240, 240, 240, 0.28) 100%
		);
	border: 1px solid rgba(50, 50, 50, 0.06);
	box-shadow:
		0 4px 24px rgba(0, 0, 0, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(18px) saturate(1.35);
	-webkit-backdrop-filter: blur(18px) saturate(1.35);
}

html[data-theme="dark"] .themes-button {
	background:
		linear-gradient(
			145deg,
			rgba(92, 92, 92, 0.25) 0%,
			rgba(50, 50, 50, 0.15) 50%,
			rgba(122, 122, 122, 0.1) 100%
		);
	border-bottom-color: rgba(255, 255, 255, 0.05);
	box-shadow:
		0 4px 28px rgba(0, 0, 0, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.themes-button .marfafont {
	font-size: 1.25rem;
	line-height: 1;
}



/* Блок основного меню */
.header-menu-item {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	line-height: 1;
	margin-left: 1rem;
	margin-right: 10px;
	border-radius: 9999px;
}

.header-menu-item a {
	font-size: var(--font-size-middle);
	font-weight: 500;
	color: var(--black);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	flex-shrink: 0;
	height: 1.75rem;
	position: relative;
	padding: 4px 10px 6px 12px;
}

.header-menu-item a.header-nav-current,
.header-mobile-menu a.header-nav-current {
	color: var(--biruza);
}

/* Вертикальные разделители между кнопками меню */
.header-menu-item > a {
	position: relative;
}
.header-menu-item > a + a::before {
	content: "";
	position: absolute;
	left: -1px;
	top: 0.25rem;
	bottom: 0.25rem;
	width: 1px;
	transform: translateX(-50%);
	border-radius: 999px;
	background: linear-gradient(
		to bottom,
		rgba(211, 210, 210, 0.62),
		rgba(174, 186, 193, 0.52) 50%,
		rgba(205, 204, 204, 0.24)
	);
	pointer-events: none;
	z-index: 2;
}
html[data-theme="dark"] .header-menu-item > a + a::before {
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0.18),
		rgba(135, 140, 150, 0.3) 50%,
		rgba(255, 255, 255, 0.08)
	);
}

@media (max-width: 768px) {
	.header-menu-item {
		display: none;
	}
	.header-burger-button {
		display: inline-flex;
	}
}

@media (min-width: 769px) {
	.header-mobile-overlay,
	.header-mobile-sheet {
		display: none;
	}
}

.header-menu-item i,
.header-mobile-menu i {
	font-size: 1rem;
	margin-right: 4px;
}



/* Мобильное бургер-меню */
.header-burger-button {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	width: 2rem;
	height: 2rem;
	padding: 0;
}

.header-burger-button span {
	display: block;
	width: 1.5rem;
	height: 3px;
	border-radius: 999px;
	background-color: currentColor;
}

@media (max-width: 768px) {
	.header-burger-button {
		display: inline-flex;
	}
}

.header-mobile-overlay {
	position: fixed;
	top: var(--header-mobile-sheet-top, 4rem);
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 190;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	background: rgba(0, 0, 0, 0.05);
}

html[data-theme="dark"] .header-mobile-overlay {
	background: rgba(0, 0, 0, 0.15);
}

.header-mobile-sheet {
	position: fixed;
	top: var(--header-mobile-sheet-top, 4rem);
	left: 0;
	right: 0;
	z-index: 200;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-0.75rem);
	transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
	padding: 0 1rem 0 0.615rem;
	margin: 0;
	min-height: 3.5rem;
}
html[data-theme="dark"] .header-mobile-sheet {
	transition:
		transform 0.3s ease,
		opacity 0.3s ease,
		visibility 0.3s ease,
		box-shadow 0.3s ease,
		background 0.3s ease;
}

.header-mobile-menu {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
}
.header-mobile-menu a {
	font-size: var(--font-size-middle);
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 2.5rem;
	gap: 0rem;
	padding: 0.5rem 0 0.5rem 0.5rem;
	color: var(--black);
	position: relative;
}
.header-mobile-menu i:before {
	display: block;
	width: 1.25rem;
}
.header-mobile-menu > a + a::before {
	content: "";
	position: absolute;
	left: -1rem;
	right: -1rem;
	top: 0;
	height: 1px;
	border-radius: 999px;
	background: linear-gradient(
		to right,
		rgba(211, 210, 210, 0.62),
		rgba(174, 186, 193, 0.52) 50%,
		rgba(205, 204, 204, 0.24)
	);
	pointer-events: none;
	z-index: 2;
}

html[data-theme="dark"] .header-mobile-menu > a + a::before {
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0.18),
		rgba(135, 140, 150, 0.3) 50%,
		rgba(255, 255, 255, 0.08)
	);
}

body.mobile-sheet-open .header-mobile-overlay {
	opacity: 1;
	visibility: visible;
}

body.mobile-sheet-open .header-mobile-sheet {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}



/* CONTENT AREA */
.landing-bg {
	padding: 2rem 0 2.5rem 0;
}

.landing-main {
	flex: 1 0 auto;
}

@media (max-width: 480px) {
	.landing-bg {
		padding: 1.5rem 0 1rem 0;
	}
}

.landing-bg .container {
	margin-bottom: 0;
}

/* Цветность блоков */
.bg-gray08 {
	background-color: var(--gray-04);
}
.bg-gray16 {
	background-color: var(--gray-08);
}
html[data-theme="dark"] .bg-gray16 {
	background-color: var(--gray-12);
}
.bg-footer {
	background-color: var(--black-fixed);
}



/* Двухколоночный шаблон */
.with-big-logo {
	display: flex;
	flex-direction: row;
	gap: 0;
	width: 100%;
}

.wbl-position {
	width: 14rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	left: -1.25rem;
}

.wbl-img {
	width: 14rem;
	height: 14rem;
	background: url('/static/img/chimeralimen01.svg');
}

html[data-theme="dark"] .wbl-img {
	background: url('/static/img/chimeralimen01_dark.svg');
}

@media screen and (max-width: 480px) {
	.wbl-position {
		display: none;
	}
}

.wbl-content {
	flex: 1 1 0%;
	min-width: 0;
	margin-left: -5rem;
	position: relative;
}

.wbl-content h1,
.intro {
	margin-left: 5rem;
}

.wbl-content h1 {
	margin-top: 4rem;
}

/* Крошки не в потоке: h1 всегда с margin-top: 4rem; нижний край крошек на 1rem выше верха h1 */
.wbl-content--crumbs .breadcrumbs {
	position: absolute;
	left: 5rem;
	right: 0;
	top: calc(3.5rem - 1rem);
	transform: translateY(-100%);
	margin: 0;
	z-index: 1;
	max-width: calc(100% - 5rem);
}

.breadcrumbs {
	font-size: var(--font-size-middle);
	line-height: 1;
}

.breadcrumbs__link,
.breadcrumbs__current {
	padding: 1px 6px;
	border-radius: 6px;
}

.breadcrumbs__link {
	background: var(--blue);
	color: var(--white-fixed);
}

.breadcrumbs__link:hover {
	color: var(--white-fixed);
}

.breadcrumbs__current {
	color: var(--biruza);
	background: var(--gray-08);
}

.breadcrumbs__sep {
	margin: 0 0.5rem;
}

.intro:not(.metaphor) {
	font-size: var(--font-size-middle);
}

.wbl-content h2 {
	position: relative;
}

.wbl-content h2::before {
	content: "";
	position: absolute;
	top: 0.42em;
	width: 0.8rem;
	height: 0.8rem;
	transform: translateX(-50%);
	border-radius: 999px;
	background-color: var(--border-color-main);
	box-sizing: border-box;
	left: -3.25rem;
	display: block;
}

.wbl-dot-line {
	display: flex;
	flex: 1 1 auto;
	justify-content: center;
}

.wbl-dot-line div {
	width: 1px;
	height: 100%;
	background-color: var(--border-color-main);
}

@media screen and (max-width: 480px) {
	.wbl-content h1,
	.intro {
		margin-left: 0;
	}
	.wbl-content h1 {
		margin-top: 0;
	}
	.wbl-content--crumbs .breadcrumbs {
		position: static;
		margin: 2rem 0 0.5rem 0!important;
	}
	.with-big-logo {
		flex-direction: column;
	}
	.wbl-content {
		margin-left: 0;
	}
	.wbl-position {
		margin: 0 auto;
		width: 100%;
		left: 0;
	}
	.wbl-img {
		width: 8rem;
		height: 8rem;
	}
	.wbl-dot-line {
		display: none;
	}
}



/* Стили основного текста */
:root {
	--chimera-avatar-base-size: 48;
	--chimera-avatar-pop-scale: 3;
	/* Одна точка правки: и для ::before без JS, и для кнопки с ava.js */
	--chimera-quote-avatar-left: -4.5rem;
	--chimera-quote-avatar-top: -0.5rem;
	--chimera-quote-avatar-size: 3.5rem;
}

/* Цитаты с аватаркой */
blockquote {
	color: var(--biruza);
	margin:2.5rem 0 1.5rem 4rem;
	position: relative;
	min-height:2.5rem;
	font-size: var(--font-size-middle);
	line-height: var(--line-font-size-middle);
}

blockquote::before {
	content: '';
	position: absolute;
	left: var(--chimera-quote-avatar-left);
	top: var(--chimera-quote-avatar-top);
	width: var(--chimera-quote-avatar-size);
	height: var(--chimera-quote-avatar-size);
	border-radius:50%;
	background: url('https://chimera.limen.art/static/img/chimera_avatar.png') center / contain no-repeat;
	box-shadow:0 0 7px rgba(0,194,187,0.7),0 0 2px rgba(0,194,187,0.2);
	filter: brightness(1.5) contrast(1.1);
}

blockquote + p {
	margin-top: 2rem;
}

html[data-theme="dark"] blockquote::before {
	filter: brightness(1.1) contrast(1.1);
}

/* Кликабельная аватарка в цитатах (JS: ava.js); без JS остаётся ::before */
blockquote.chimera-quote-avatar-pop-enabled::before {
	content: none;
	display: none;
}
button.chimera-quote-avatar.avatar-pop-trigger {
	position: absolute;
	left: var(--chimera-quote-avatar-left);
	top: var(--chimera-quote-avatar-top);
	width: var(--chimera-quote-avatar-size);
	height: var(--chimera-quote-avatar-size);
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	overflow: hidden;
	cursor: pointer;
	background: transparent;
	box-shadow: 0 0 7px rgba(0, 194, 187, 0.7), 0 0 2px rgba(0, 194, 187, 0.2);
	line-height: 0;
}
button.chimera-quote-avatar.avatar-pop-trigger:focus-visible {
	outline: 2px solid var(--biruza);
	outline-offset: 2px;
}
button.chimera-quote-avatar.avatar-pop-trigger img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	filter: brightness(1.5) contrast(1.1);
}
html[data-theme="dark"] button.chimera-quote-avatar.avatar-pop-trigger img {
	filter: brightness(1.1) contrast(1.1);
}

/* Выплывающая аватарка (слой вешаем на <html> в JS — у body бывает overflow:hidden) */
.chimera-avatar-pop-layer {
	position: fixed;
	inset: 0;
	z-index: 500000;
	background: transparent;
	pointer-events: none;
}
.chimera-avatar-pop {
	position: fixed;
	left: var(--chimera-avatar-x);
	top: var(--chimera-avatar-y);
	width: var(--chimera-avatar-size);
	height: var(--chimera-avatar-size);
	border-radius: 50%;
	overflow: hidden;
	transform: translate(-50%, -50%);
	transition:
		width 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
		height 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
		opacity 0.2s ease,
		transform 0.4s ease,
		box-shadow 0.4s ease,
		filter 0.4s ease;
	pointer-events: none;
	box-shadow: 0 0 0 rgba(61, 225, 76, 0);
	filter: brightness(0.9) contrast(1);
	background: var(--black-fixed);
}
.chimera-avatar-pop.is-open {
	width: var(--chimera-avatar-open-size);
	height: var(--chimera-avatar-open-size);
	box-shadow: 0 0 25px rgba(0, 194, 187, 0.814), 0 0 7px rgba(0, 194, 187, 0.2);
	filter: brightness(1.1) contrast(1.1);
}
.chimera-avatar-pop img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 480px) {
	blockquote {
		margin: 1.5rem 0 0.5rem 0;
		min-height: 0;
	}
	blockquote + p {
		margin-top: 1.5rem;
	}
	blockquote::before {
		content: '';
		position: static;
		display: block;
		float: left;
		width: 3rem;
		height: 3rem;
		margin: -0.4rem 0.75rem 0 0;
		clip-path: circle(50%);
	}
	blockquote.chimera-quote-avatar-pop-enabled button.chimera-quote-avatar.avatar-pop-trigger {
		position: static;
		float: left;
		width: 3rem;
		height: 3rem;
		margin: -0.4rem 0.75rem 0 0;
		clip-path: circle(50%);
		box-shadow: 0 0 7px rgba(0, 194, 187, 0.7), 0 0 2px rgba(0, 194, 187, 0.2);
	}
}

/* Плашки */
.chimera-column {
	display: flex;
	gap: 1rem;
	align-items: stretch;
	margin: 2rem 0 2.25rem 0;
	font-size: var(--font-size-middle);
	line-height: var(--line-font-size-middle);
}

@media (max-width: 480px) {
	.chimera-column {
		margin: 1.25rem 0 1.5rem 0;
	}
}

.chimera-column > .chimera-block {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.chimera-block {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	padding: 0.75rem 1rem 1rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.9);
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.94) 0%,
			rgba(255, 255, 255, 0.82) 45%,
			rgba(255, 255, 255, 0.88) 100%
		);
	box-shadow:
		0 8px 32px rgba(0, 0, 0, 0.1),
		0 2px 8px rgba(0, 0, 0, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.75),
		inset 0 -1px 0 rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(18px) saturate(1.35);
	-webkit-backdrop-filter: blur(18px) saturate(1.35);
}
html[data-theme="dark"] .chimera-block {
	border-color: rgba(255, 255, 255, 0.14);
	background:
		linear-gradient(
			145deg,
			rgba(40, 40, 44, 0.55) 0%,
			rgba(28, 28, 32, 0.35) 50%,
			rgba(48, 48, 52, 0.45) 100%
		);
	box-shadow:
		0 12px 40px rgba(0, 0, 0, 0.45),
		0 2px 12px rgba(0, 0, 0, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.12),
		inset 0 -1px 0 rgba(0, 0, 0, 0.2);
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.chimera-block {
		border: 1px solid var(--gray-16);
		background-color: var(--white-bg);
		box-shadow: none;
	}
	html[data-theme="dark"] .chimera-block {
		background-color: var(--gray-30);
		border-color: var(--gray-30);
		box-shadow: none;
	}
}
.chimera-block h3 {
	margin: 0 0 0.5rem 0;
	font-size: 1rem;
	padding: 0;
	background: none;
}
.chimera-block p {
	margin: 0;
	color: var(--gray-66);
}

/* Повторяем мобильные override после базовых правил:
   иначе их перезаписывает каскад, и Safari может обрезать <p> в стековых карточках. */
@media (max-width: 760px) {
	.chimera-column {
		flex-direction: column;
	}
	.chimera-column > .chimera-block {
		flex: 0 0 auto;
		align-self: stretch;
		width: 100%;
		min-height: min-content;
	}
	.chimera-block {
		overflow: visible;
		min-height: min-content;
	}
	.chimera-block p {
		flex-shrink: 0;
	}
}

/* Таблицы */
.doctable table {
	width: 100%;
	border-collapse: collapse;
}
.doctable table td {
	width: 50%;
	vertical-align: top;
	font-size: var(--font-size-middle);
	padding: 0.25rem 0.5rem;
	border: 1px solid var(--border-color-main);
}
.thead td {
	font-family: var(--font-snpro);
	font-weight: 500;
}
.tbold td {
	background: var(--gray-04);
	font-weight: 600;
}

/* Диаграммы */
.diagram {
	width: 60%;
	margin: 3rem 0;
}
@media screen and (max-width: 48rem) {
	.diagram {
		width: 70%;
	}
}

.wbl-content .zoomy img {
	cursor: zoom-in;
}

html[data-theme="light"] .bookcase-item-img-dark,
html[data-theme="dark"] .bookcase-item-img-light {
	display: none; 
}

html[data-theme="light"] .bookcase-item img, 
html[data-theme="light"] .bookcase-item .bookcase-item-overlay {
	box-shadow: 0 0 10px -1px rgba(0, 0, 0, 0.1); 
}

html[data-theme="dark"] .bookcase-item img, 
html[data-theme="dark"] .bookcase-item .bookcase-item-overlay {
	box-shadow: 0 0 3px 0px rgba(135, 135, 135, 0.2); 
}

/* details and summary */
.wbl-content details summary {
	color: var(--blue);
	cursor: pointer;
	list-style: none;
	text-decoration: none;
}

.wbl-content details summary::-webkit-details-marker {
	display: none;
}

.wbl-content details summary:hover {
	color: var(--biruza);
}

.wbl-content details pre {
	max-width: 100%;
	white-space: pre-wrap;
	overflow-wrap: break-word;
	font-size: var(--font-size-middle);
	background: var(--gray-08);
	padding: 0.5rem;
}

/* FOOTER */
footer {
	font-size: var(--font-size-middle);
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem 1.5rem;
	flex-wrap: wrap;
	text-align: left;
	color: var(--gray-16);
}
html[data-theme="dark"] footer {
	color: var(--gray-60);
}
footer div:last-child {
	text-align: right;
}
footer .dev-contacts {
	font-weight: normal!important;
}
footer .dev-contacts span {
	display: block;
	margin-left: 0;
}
footer .dev-contacts i:before {
	margin-right: 7px;
}
footer .dev-contacts i.menumail:before {
	top: 1px;
}

