/* Pronab Roy Series Reader — chapter bar, navigation, TOC and code styling on the blog. */
.prsr-chapter-bar, .prsr-chapter-nav, .prsr-toc, .prsr-read-btn-wrap {
	--prsr-accent: #1f5fbf;
	--prsr-border: rgba(127, 127, 127, 0.28);
	--prsr-soft: rgba(127, 127, 127, 0.08);
	--prsr-muted: inherit;
	box-sizing: border-box;
}
.prsr-chapter-bar *, .prsr-chapter-nav * { box-sizing: border-box; }

/* Top bar */
.prsr-chapter-bar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.25rem;
	margin: 0 0 2rem; padding: .9rem 1.1rem;
	border: 1px solid var(--prsr-border); border-left: 4px solid var(--prsr-accent); border-radius: 10px;
	background: var(--prsr-soft); line-height: 1.4;
}
.prsr-chapter-bar__text { flex: 1 1 16rem; min-width: 0; }
.prsr-chapter-bar p { margin: 0; }
.prsr-chapter-bar__series { font-size: .9em; opacity: .85; }
.prsr-chapter-bar__series a { text-decoration: none; }
.prsr-chapter-bar__series a:hover { text-decoration: underline; }
.prsr-chapter-bar__meta { margin-top: .2rem !important; font-size: 1em; }
.prsr-sep { opacity: .6; margin: 0 .15em; }
.prsr-progress { margin-top: .6rem; height: 6px; border-radius: 999px; background: var(--prsr-border); overflow: hidden; }
.prsr-progress__fill { display: block; height: 100%; background: var(--prsr-accent); border-radius: inherit; }
.prsr-chapter-bar__actions { flex: 0 0 auto; }

/* Read button */
.prsr-read-btn {
	display: inline-flex; align-items: center; gap: .45em;
	padding: .55em 1em; border-radius: 8px; border: 1px solid var(--prsr-accent, #1f5fbf);
	background: var(--prsr-accent, #1f5fbf); color: #fff !important; font-weight: 600; line-height: 1.2;
	text-decoration: none !important; white-space: nowrap; transition: filter .15s ease;
}
.prsr-read-btn:hover, .prsr-read-btn:focus-visible { filter: brightness(1.1); }
.prsr-read-btn:focus-visible { outline: 2px solid var(--prsr-accent, #1f5fbf); outline-offset: 2px; }
.prsr-read-btn.is-disabled { background: transparent; color: inherit !important; border-color: var(--prsr-border, rgba(127,127,127,.35)); opacity: .75; cursor: default; filter: none; }
.prsr-read-btn--large { font-size: 1.05em; padding: .75em 1.35em; }
.prsr-read-btn-wrap { margin: 1.5rem 0; }

/* Bottom navigation */
.prsr-chapter-nav {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: .75rem;
	margin: 2.5rem 0 1rem; padding-top: 1.25rem; border-top: 1px solid var(--prsr-border); line-height: 1.35;
}
.prsr-chapter-nav__toc { display: flex; align-items: center; justify-content: center; font-weight: 600; }
.prsr-chapter-nav__next { text-align: right; }
.prsr-nav-link { display: flex; flex-direction: column; gap: .2rem; height: 100%; padding: .7rem .9rem; border: 1px solid var(--prsr-border); border-radius: 8px; text-decoration: none !important; }
a.prsr-nav-link:hover { border-color: var(--prsr-accent); background: var(--prsr-soft); }
.prsr-chapter-nav__next .prsr-nav-link { align-items: flex-end; }
.prsr-nav-dir { font-size: .8em; text-transform: uppercase; letter-spacing: .05em; opacity: .75; }
.prsr-nav-title { font-weight: 600; }
.prsr-nav-link.is-soon { opacity: .7; }
.prsr-soon { display: inline-block; font-size: .78em; font-style: normal; padding: .05em .5em; border: 1px solid var(--prsr-border); border-radius: 999px; white-space: nowrap; opacity: .85; }
.prsr-nav-link .prsr-soon { margin-top: .15rem; }
@media (max-width: 640px) {
	.prsr-chapter-nav { grid-template-columns: 1fr; }
	.prsr-chapter-nav__toc { order: 3; padding: .25rem 0; }
	.prsr-chapter-nav__next { text-align: left; }
	.prsr-chapter-nav__next .prsr-nav-link { align-items: flex-start; }
	.prsr-chapter-nav__prev:empty, .prsr-chapter-nav__next:empty { display: none; }
}

/* TOC shortcode */
.prsr-toc { margin: 1rem 0 2rem; }
.prsr-toc__part { margin: 1.5rem 0 .5rem; }
.prsr-toc__list { margin: 0 0 1rem; padding-left: 1.75em; }
.prsr-toc__item { margin: .35rem 0; }
.prsr-toc__item.is-planned .prsr-toc__planned { opacity: .7; }
.prsr-toc__item.is-current > a { font-weight: 700; }
.prsr-notice { padding: .5rem .75rem; border: 1px dashed #c00; color: #c00; }

/* Code blocks on chapter posts (theme-friendly, subtle). */
body.prsr-chapter pre {
	overflow-x: auto; -webkit-overflow-scrolling: touch;
	white-space: pre; word-wrap: normal; overflow-wrap: normal;
	padding: 1em 1.1em; margin: 0 0 1.5em;
	background: #f6f8fa; color: #1f2328; border: 1px solid #e3e6ea; border-radius: 8px;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Cascadia Mono", "Liberation Mono", monospace;
	font-size: .88em; line-height: 1.55; tab-size: 4; -moz-tab-size: 4;
}
body.prsr-chapter pre code { background: none; padding: 0; border: 0; font: inherit; color: inherit; white-space: inherit; }
body.prsr-chapter :not(pre) > code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; font-size: .88em; padding: .1em .35em; border-radius: 4px; background: rgba(127, 127, 127, 0.12); overflow-wrap: anywhere; }
body.prsr-chapter div.sourceCode { overflow: visible; margin: 0 0 1.5em; background: none; }
body.prsr-chapter div.sourceCode pre { margin: 0; }
body.prsr-chapter pre code > span > a:empty { display: none; }

body.prsr-chapter .prsr-tok-k, body.prsr-chapter code.sourceCode .kw, body.prsr-chapter code.sourceCode .cf { color: #8f2bb3; }
body.prsr-chapter .prsr-tok-s, body.prsr-chapter code.sourceCode .st, body.prsr-chapter code.sourceCode .ch, body.prsr-chapter code.sourceCode .ss, body.prsr-chapter code.sourceCode .vs, body.prsr-chapter code.sourceCode .sc { color: #0a7a34; }
body.prsr-chapter .prsr-tok-c, body.prsr-chapter code.sourceCode .co, body.prsr-chapter code.sourceCode .do, body.prsr-chapter code.sourceCode .cv, body.prsr-chapter code.sourceCode .an, body.prsr-chapter code.sourceCode .in { color: #6a737d; font-style: italic; }
body.prsr-chapter .prsr-tok-n, body.prsr-chapter code.sourceCode .dv, body.prsr-chapter code.sourceCode .bn, body.prsr-chapter code.sourceCode .fl, body.prsr-chapter code.sourceCode .cn { color: #b35900; }
body.prsr-chapter .prsr-tok-t, body.prsr-chapter code.sourceCode .dt, body.prsr-chapter .prsr-tok-p, body.prsr-chapter .prsr-tok-a, body.prsr-chapter code.sourceCode .pp, body.prsr-chapter code.sourceCode .im { color: #0f6a8f; }
body.prsr-chapter .prsr-tok-f, body.prsr-chapter code.sourceCode .fu, body.prsr-chapter code.sourceCode .bu, body.prsr-chapter code.sourceCode .ex { color: #3a4fc6; }
body.prsr-chapter .prsr-tok-v, body.prsr-chapter code.sourceCode .va, body.prsr-chapter code.sourceCode .al, body.prsr-chapter code.sourceCode .er { color: #b31d28; }
body.prsr-chapter .prsr-tok-o, body.prsr-chapter code.sourceCode .at { color: #6b4bb3; }
body.prsr-chapter .prsr-tok-pr { color: #1f5fbf; }

/* Responsive tables on chapter posts. */
@media (max-width: 760px) {
	body.prsr-chapter .entry-content table, body.prsr-chapter article table, body.prsr-chapter .prsr-chapter-bar ~ table {
		display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
	}
}
