/* MyLibrary 3.10.53 — Character guides hub and eight expert hero profiles. */
.mlb-character-page,
.mlb-character-page * { box-sizing: border-box; }

.mlb-character-hero,
.mlb-character-guide {
	border: 1px solid #dfe6ee;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(28, 46, 67, .075);
}
.mlb-character-hero {
	position: relative;
	margin: 0 0 2.2rem;
	padding: clamp(1.45rem, 3vw, 2.6rem);
	overflow: hidden;
	background: linear-gradient(135deg, #f1f8f5 0%, #fff 58%, #f4f2ff 100%);
}
.mlb-character-hero::after {
	position: absolute;
	right: -72px;
	top: -92px;
	width: 220px;
	height: 220px;
	border: 29px solid rgba(47, 131, 121, .075);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}
.mlb-character-hero > * { position: relative; z-index: 1; }
.mlb-character-kicker,
.mlb-character-card__eyebrow {
	color: #2f8379;
	font-size: .76rem;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.mlb-character-hero h2 {
	margin: .3rem 0 .8rem;
	color: #263c4f;
	font-size: clamp(1.65rem, 3.5vw, 2.55rem);
	line-height: 1.12;
}
.mlb-character-hero p { max-width: 900px; line-height: 1.72; }
.mlb-character-hero .wp-block-buttons { margin-top: 1.25rem; }
.mlb-character-hero .wp-block-button__link {
	border-radius: 999px;
	font-weight: 760;
	padding: .8rem 1.2rem;
}

.mlb-character-tools {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(170px, 230px) auto;
	gap: 14px;
	align-items: end;
	margin: 1.25rem 0 1.5rem;
	padding: 16px;
	border: 1px solid #d9e5e1;
	border-radius: 18px;
	background: #f6fbf9;
}
.mlb-character-tools label span {
	display: block;
	margin-bottom: 6px;
	color: #405851;
	font-size: 13px;
	font-weight: 750;
}
.mlb-character-tools input,
.mlb-character-tools select {
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 9px 12px;
	border: 1px solid #cbdad5;
	border-radius: 11px;
	background: #fff;
	color: #273c37;
	font: inherit;
}
.mlb-character-tools input:focus,
.mlb-character-tools select:focus { border-color: #2f8379; box-shadow: 0 0 0 3px rgba(47, 131, 121, .13); outline: 0; }
.mlb-character-tools__count { margin: 0 0 11px; color: #50645f; white-space: nowrap; }
.mlb-character-tools__count strong { color: #2f8379; font-size: 1.12rem; }

.mlb-character-catalog {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 1.25rem 0 2.4rem;
}
.mlb-character-card {
	margin: 0;
	min-width: 0;
	border: 1px solid #e0e7eb;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(28, 46, 67, .06);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mlb-character-card:hover,
.mlb-character-card:focus-within {
	transform: translateY(-3px);
	border-color: #afd3cb;
	box-shadow: 0 16px 36px rgba(28, 46, 67, .105);
}
.mlb-character-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.35rem;
	color: inherit !important;
	text-decoration: none !important;
}
.mlb-character-card h2 {
	margin: .35rem 0 .25rem;
	color: #263c4f;
	font-size: 1.4rem;
	line-height: 1.23;
}
.mlb-character-card__work { margin: 0 0 .25rem; color: #354f5f; font-weight: 780; }
.mlb-character-card__author { margin: 0 0 .75rem; color: #60727d; font-size: .9rem; }
.mlb-character-card__description { margin: 0 0 1rem; color: #667784; font-size: .95rem; line-height: 1.65; }
.mlb-character-card__footer { display: flex; flex-direction: column; margin-top: auto; }
.mlb-character-card__meta { display: flex; flex-wrap: wrap; gap: .45rem; }
.mlb-character-card__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 1.85rem;
	padding: .28rem .65rem;
	border-radius: 999px;
	background: #f0f5f4;
	color: #45625b;
	font-size: .78rem;
	font-weight: 750;
}
.mlb-character-card__action { margin-top: .82rem; color: #2f8379; font-weight: 850; }
.mlb-character-empty { padding: 1rem; border: 1px dashed #bdcec8; border-radius: 14px; background: #f8fbfa; }
.mlb-character-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; margin: 1.4rem 0 2.2rem; }
.mlb-character-pagination__button {
	min-width: 42px;
	min-height: 42px;
	padding: .55rem .75rem;
	border: 1px solid #cbdad5;
	border-radius: 10px;
	background: #fff;
	color: #36524b;
	font: inherit;
	font-weight: 750;
	cursor: pointer;
}
.mlb-character-pagination__button[aria-current="page"] { border-color: #2f8379; background: #2f8379; color: #fff; cursor: default; }
.mlb-character-pagination__button:disabled { opacity: .46; cursor: default; }
.mlb-character-pagination__status { width: 100%; text-align: center; color: #687b76; font-size: .82rem; }

.mlb-character-guide { margin: 2rem 0; padding: clamp(1.25rem, 2.5vw, 2rem); background: #fbfcfd; }
.mlb-character-guide .wp-block-columns { gap: 1rem; margin-bottom: 0; }
.mlb-character-guide .wp-block-column { padding: 1rem; border: 1px solid #e0e7eb; border-radius: 16px; background: #fff; }
.mlb-character-guide h3 { margin-top: 0; color: #29475a; font-size: 1.05rem; }

.mlb-character-article {
	--character-accent: #2f8379;
	--character-accent-2: #7762b5;
	--character-deep: #29475a;
	--character-soft: #eef8f5;
	--character-soft-2: #f4f1fb;
	--character-line: #d7e4e1;
	--character-text: #303840;
	--character-shadow: 0 11px 28px rgba(41, 71, 90, .075);
	color: var(--character-text);
}
.mlb-character-article--gerasim {
	--character-accent: #4e7a58;
	--character-accent-2: #a66b45;
	--character-deep: #31523a;
	--character-soft: #f0f7f1;
	--character-soft-2: #fff5ed;
	--character-line: #d6e4d7;
}
.mlb-character-article--tatyana {
	--character-accent: #7660a8;
	--character-accent-2: #a76571;
	--character-deep: #4c3e70;
	--character-soft: #f4f1fb;
	--character-soft-2: #fff1f3;
	--character-line: #ddd5ed;
}
.mlb-character-article--bazarov {
	--character-accent: #4f755d;
	--character-accent-2: #9a6848;
	--character-deep: #304b3a;
	--character-soft: #eff6f1;
	--character-soft-2: #fff4ea;
	--character-line: #d7e3d9;
}
.mlb-character-article--pechorin {
	--character-accent: #3f657d;
	--character-accent-2: #7b5f85;
	--character-deep: #2d485b;
	--character-soft: #eef5f8;
	--character-soft-2: #f5f0f7;
	--character-line: #d5e0e6;
}
.mlb-character-article--oblomov {
	--character-accent: #7b6b45;
	--character-accent-2: #657f78;
	--character-deep: #54482f;
	--character-soft: #f8f5eb;
	--character-soft-2: #eef6f3;
	--character-line: #e3dccb;
}
.mlb-character-article--katerina {
	--character-accent: #47758b;
	--character-accent-2: #8c5868;
	--character-deep: #304f60;
	--character-soft: #eef7fa;
	--character-soft-2: #fbf0f3;
	--character-line: #d7e4e9;
}
.mlb-character-article,
.mlb-character-article * { box-sizing: border-box; }
.mlb-character-article p,
.mlb-character-article li { line-height: 1.74; }
.mlb-character-article__lead {
	position: relative;
	margin: 0 0 2rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	overflow: hidden;
	border: 1px solid var(--character-line);
	border-top: 5px solid var(--character-accent);
	border-radius: 18px;
	background: linear-gradient(135deg, var(--character-soft), #fff 58%, var(--character-soft-2));
	box-shadow: var(--character-shadow);
}
.mlb-character-article__lead::after {
	position: absolute;
	right: -40px;
	bottom: -55px;
	width: 155px;
	height: 155px;
	border: 24px solid color-mix(in srgb, var(--character-accent) 9%, transparent);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}
.mlb-character-article__lead p { position: relative; z-index: 1; margin: 0 0 .85rem; }
.mlb-character-article__lead p:last-child { margin-bottom: 0; }
.mlb-character-section { margin: 0 0 2.35rem; }
.mlb-character-section > h2 {
	position: relative;
	margin: 0 0 1rem;
	padding: 0 0 .68rem;
	color: var(--character-deep);
	font-size: clamp(1.32rem, 2.3vw, 1.78rem);
	line-height: 1.28;
}
.mlb-character-section > h2::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 78px;
	height: 4px;
	border-radius: 8px;
	background: linear-gradient(90deg, var(--character-accent), var(--character-accent-2));
	content: "";
}
.mlb-character-section h3 { margin: 1.35rem 0 .48rem; color: var(--character-deep); font-size: 1.08rem; line-height: 1.4; }
.mlb-character-table {
	max-width: 100%;
	margin: 1.1rem 0 1.85rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--character-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--character-shadow);
}
.mlb-character-table table { width: 100%; min-width: 680px; margin: 0; border-collapse: collapse; }
.mlb-character-table th,
.mlb-character-table td { padding: .9rem 1rem; border: 1px solid var(--character-line); vertical-align: top; text-align: left; line-height: 1.58; }
.mlb-character-table thead th { background: var(--character-accent); color: #fff; font-size: .9rem; }
.mlb-character-table tbody th { width: 27%; background: var(--character-soft); color: var(--character-deep); }
.mlb-character-table tbody tr:nth-child(even) td { background: #fcfdfd; }
.mlb-character-quick {
	margin: 1.15rem 0 1.85rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--character-line);
	border-left: 6px solid var(--character-accent);
	border-radius: 0 14px 14px 0;
	background: linear-gradient(135deg, var(--character-soft), #fff);
	box-shadow: var(--character-shadow);
}
.mlb-character-quick strong { color: var(--character-deep); }
.mlb-character-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
	margin: 1.1rem 0 1.85rem;
}
.mlb-character-grid > div {
	padding: 1.05rem 1.1rem;
	border: 1px solid var(--character-line);
	border-top: 4px solid var(--character-accent);
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(41, 71, 90, .05);
}
.mlb-character-grid > div:nth-child(even) { border-top-color: var(--character-accent-2); background: var(--character-soft-2); }
.mlb-character-grid h3 { margin: 0 0 .42rem; font-size: 1.03rem; }
.mlb-character-grid p { margin: 0; }
.mlb-character-evidence { display: grid; gap: .75rem; margin: 1.1rem 0 1.85rem; }
.mlb-character-evidence > div { padding: 1rem 1.08rem; border: 1px solid var(--character-line); border-radius: 12px; background: #fff; }
.mlb-character-evidence h3 { margin: 0 0 .35rem; font-size: 1rem; }
.mlb-character-evidence p { margin: 0; }
.mlb-character-steps { list-style: decimal outside; margin: 1.05rem 0 1.9rem; padding: 0 0 0 2.4rem; }
.mlb-character-steps > li { margin: 0 0 .72rem; padding: .88rem 1rem; border: 1px solid var(--character-line); border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(41, 71, 90, .04); }
.mlb-character-steps > li:nth-child(even) { background: var(--character-soft); }
.mlb-character-steps > li::marker { color: var(--character-accent); font-weight: 850; }
.mlb-character-steps p { margin: 0; overflow-wrap: anywhere; }
.mlb-character-steps strong { color: var(--character-deep); }
.mlb-character-quote {
	margin: 1.3rem 0 1.85rem;
	padding: 1.2rem 1.35rem;
	border: 0;
	border-left: 6px solid var(--character-accent-2);
	border-radius: 0 15px 15px 0;
	background: linear-gradient(135deg, var(--character-soft-2), #fff);
	box-shadow: var(--character-shadow);
}
.mlb-character-quote p { margin: 0; color: var(--character-deep); font-size: 1.04rem; font-weight: 650; }
.mlb-character-list { margin: 1rem 0 1.75rem; padding-left: 1.45rem; }
.mlb-character-list li { margin-bottom: .62rem; padding-left: .2rem; }
.mlb-character-list li::marker { color: var(--character-accent); font-weight: 850; }
.mlb-character-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .72rem;
	margin: 1.15rem 0 1.8rem;
}
.mlb-character-links > h2 { grid-column: 1 / -1; margin-bottom: .2rem; }
.mlb-character-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .7rem;
	padding: .9rem 1rem;
	border: 1px solid var(--character-line);
	border-radius: 11px;
	background: #fff;
	color: var(--character-deep) !important;
	font-weight: 760;
	line-height: 1.42;
	text-decoration: none !important;
}
.mlb-character-links a::after { flex: 0 0 auto; color: var(--character-accent); content: "→"; }
.mlb-character-links a:hover,
.mlb-character-links a:focus-visible { border-color: var(--character-accent); background: var(--character-soft); outline: 0; }

@media (max-width: 820px) {
	.mlb-character-tools { grid-template-columns: 1fr 1fr; }
	.mlb-character-tools__count { grid-column: 1 / -1; margin: 0; }
}
@media (max-width: 760px) {
	.mlb-character-catalog,
	.mlb-character-grid,
	.mlb-character-links { grid-template-columns: 1fr; }
	.mlb-character-hero,
	.mlb-character-guide { border-radius: 17px; }
	.mlb-character-hero .wp-block-buttons { display: grid; grid-template-columns: 1fr; }
	.mlb-character-hero .wp-block-button,
	.mlb-character-hero .wp-block-button__link { width: 100%; text-align: center; }
	.mlb-character-table table { min-width: 620px; }
}
@media (max-width: 520px) {
	.mlb-character-tools { grid-template-columns: 1fr; padding: 13px; border-radius: 15px; }
	.mlb-character-tools__count { grid-column: auto; }
	.mlb-character-card__link { padding: 1.05rem; }
	.mlb-character-article__lead { padding: 1.05rem; border-radius: 14px; }
	.mlb-character-steps { padding-left: 2rem; }
	.mlb-character-steps > li { padding: .78rem .84rem; }
	.mlb-character-table table { min-width: 560px; }
}
@media (prefers-reduced-motion: reduce) { .mlb-character-card { transition: none; } }
@media print {
	.mlb-character-hero,
	.mlb-character-guide,
	.mlb-character-card,
	.mlb-character-article__lead,
	.mlb-character-table,
	.mlb-character-quick,
	.mlb-character-quote { box-shadow: none; background: #fff; }
	.mlb-character-hero .wp-block-buttons,
	.mlb-character-tools,
	.mlb-character-pagination,
	.mlb-character-card__action { display: none; }
}

/* Character guides 3.10.52 additions: Raskolnikov and Chatsky. */
.mlb-character-article--raskolnikov {
	--character-accent: #7b4f58;
	--character-accent-2: #66538b;
	--character-deep: #51343b;
	--character-soft: #faf1f2;
	--character-soft-2: #f3f0f8;
	--character-line: #e4d6d9;
}
.mlb-character-article--chatsky {
	--character-accent: #456f8b;
	--character-accent-2: #a16e3f;
	--character-deep: #304e62;
	--character-soft: #eef5f9;
	--character-soft-2: #fff5ea;
	--character-line: #d5e1e8;
}

/* Character guides 3.10.54 additions: Natasha Rostova and Andrei Bolkonsky. */
.mlb-character-article--natasha-rostova {
	--character-accent: #a64d68;
	--character-accent-2: #6f719e;
	--character-deep: #633244;
	--character-soft: #fff1f5;
	--character-soft-2: #f2f1fa;
	--character-line: #ead4dc;
}
.mlb-character-article--andrey-bolkonskiy {
	--character-accent: #4f6f79;
	--character-accent-2: #7c694b;
	--character-deep: #334d55;
	--character-soft: #eef5f6;
	--character-soft-2: #f6f2eb;
	--character-line: #d4e0e3;
}

/* Character guides 3.10.55 additions: Pierre Bezukhov and Masha Mironova. */
.mlb-character-article--pierre-bezukhov {
	--character-accent: #74624b;
	--character-accent-2: #4f7485;
	--character-deep: #4d4132;
	--character-soft: #f8f4ed;
	--character-soft-2: #eef5f8;
	--character-line: #e2d9cb;
}
.mlb-character-article--masha-mironova {
	--character-accent: #6d708f;
	--character-accent-2: #9a6558;
	--character-deep: #484b68;
	--character-soft: #f3f3f9;
	--character-soft-2: #fbf1ee;
	--character-line: #ddddea;
}

/* Character guides 3.10.56 additions: Evgeny Onegin and Sonya Marmeladova. */
.mlb-character-article--evgeniy-onegin {
	--character-accent: #526d83;
	--character-accent-2: #9a704b;
	--character-deep: #344a5d;
	--character-soft: #eef4f8;
	--character-soft-2: #fbf4eb;
	--character-line: #d5e0e8;
}
.mlb-character-article--sonya-marmeladova {
	--character-accent: #80698d;
	--character-accent-2: #9b7654;
	--character-deep: #574461;
	--character-soft: #f6f1f8;
	--character-soft-2: #fbf5ee;
	--character-line: #e3d8e7;
}
