/* ============================================================
   HomeBlesh v2.5.6 reader tools
   One slim tools row under the article meta card: Listen
   (with Female / Male voice choice) and reading comfort
   controls, styled with the theme's own variables and pill
   shapes so the article design is otherwise unchanged.
   Also carries the print stylesheet. Loaded on single posts.
   ============================================================ */

.hb-reader-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	margin: 12px 0 4px;
}
.hb-listen { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.hb-listen-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border-radius: 999px;
	border: 1px solid var(--hb-line);
	background: var(--hb-bg);
	color: var(--hb-text);
	font: inherit;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(16, 16, 24, .06);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.hb-listen-btn:hover {
	transform: translateY(-1px);
	background: linear-gradient(135deg, var(--hb-primary), var(--hb-leaf));
	border-color: transparent;
	color: #fff;
	box-shadow: 0 8px 18px rgba(7, 86, 61, .30);
}
.hb-listen-btn.is-playing {
	background: linear-gradient(135deg, var(--hb-primary), var(--hb-leaf));
	border-color: transparent;
	color: #fff;
}
.hb-listen-panel { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hb-listen-panel[hidden] { display: none; }
.hb-listen-stop {
	padding: 7px 13px;
	border-radius: 999px;
	border: 1px solid var(--hb-line);
	background: var(--hb-soft);
	color: var(--hb-text);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}
.hb-listen-voice-label,
.hb-listen-speed { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--hb-muted); }
.hb-listen-voice,
.hb-listen-rate {
	font: inherit;
	font-size: 13px;
	padding: 5px 8px;
	border-radius: 8px;
	border: 1px solid var(--hb-line);
	background: var(--hb-bg);
	color: var(--hb-text);
}
.hb-listen-status { font-size: 13px; color: var(--hb-muted); font-weight: 600; }
.hb-speaking {
	background: var(--hb-soft);
	box-shadow: -3px 0 0 var(--hb-primary);
	border-radius: 4px;
}

/* Reading comfort */
.hb-comfort { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; }
.hb-comfort-label { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--hb-muted); margin-right: 2px; }
.hb-comfort-btn {
	padding: 7px 11px;
	border-radius: 999px;
	border: 1px solid var(--hb-line);
	background: var(--hb-bg);
	color: var(--hb-text);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, transform .18s ease;
}
.hb-comfort-btn:hover { transform: translateY(-1px); }
.hb-comfort-btn.is-on {
	background: linear-gradient(135deg, var(--hb-leaf), var(--hb-mid));
	border-color: transparent;
	color: #fff;
}
.hb-comfort-btn.is-disabled { opacity: .38; pointer-events: none; }
body.hb-read-1 .hb-entry-content { font-size: 112.5%; }
body.hb-read-2 .hb-entry-content { font-size: 125%; }
body.hb-read-loose .hb-entry-content { line-height: 1.95; }
body.hb-read-loose .hb-entry-content p { margin-bottom: 1.5em; }

/* ---------- Print stylesheet ---------- */
@media print {
	.hb-header, .hb-footer, .hb-search-overlay, .hb-topbar,
	.hb-article-actions, .hb-reader-tools, .hb-share-wrap,
	.hb-save-btn, .hb-toc, .hb-related, .hb-post-nav,
	.hb-comments-area, .hb-sidebar, .hb-cookie, .hbn-sec {
		display: none !important;
	}
	body { background: #fff !important; color: #000 !important; }
	.site-main, .hb-container { max-width: 100% !important; padding: 0 !important; }
	.hb-article-title { font-size: 24pt; color: #000; }
	.hb-article-meta { background: none; border: none; box-shadow: none; padding: 0; }
	.hb-entry-content { font-size: 11.5pt; line-height: 1.6; color: #000; }
	.hb-entry-content a { color: #000; text-decoration: underline; }
	.hb-entry-content h2, .hb-entry-content h3 { page-break-after: avoid; color: #000; }
	.hb-entry-content figure, .hb-entry-content table { page-break-inside: avoid; }
	@page { margin: 18mm 16mm; }
}
