.jsfb-reader {
	--jsfb-brand: var(--jsf-brand, #f04a23);
	--jsfb-brand-dark: var(--jsf-brand-dark, #c93415);
	--jsfb-navy: var(--jsf-navy, #24324a);
	--jsfb-hero: var(--jsf-hero, #101827);
	--jsfb-text: var(--jsf-text, #1f2933);
	--jsfb-muted: var(--jsf-muted, #4b5563);
	--jsfb-border: var(--jsf-border, #d9e0e8);
	--jsfb-surface: var(--jsf-surface, #ffffff);
	--jsfb-soft: var(--jsf-background, #f8fafc);
	width: min(100% - 2rem, 70rem);
	margin-inline: auto;
	padding-block: clamp(2rem, 5vw, 4rem);
	color: var(--jsfb-text);
}
.jsfb-reader *, .jsfb-quiz *, .jsfb-books * { box-sizing: border-box; }
.jsfb-reader a, .jsfb-quiz a, .jsfb-books a { color: inherit; text-underline-offset: .18em; }
.jsfb-reader a:hover, .jsfb-reader a:focus-visible, .jsfb-quiz a:hover, .jsfb-quiz a:focus-visible, .jsfb-books a:hover, .jsfb-books a:focus-visible { color: var(--jsfb-brand-dark); }
.jsfb-reader :is(a, button, input, select, summary):focus-visible,
.jsfb-quiz :is(a, button, input, select):focus-visible,
.jsfb-books :is(a, button):focus-visible { outline: 3px solid color-mix(in srgb, var(--jsfb-brand) 55%, white); outline-offset: 3px; }
.jsfb-reader__hero, .jsfb-tool-header, .jsfb-book-header, .jsfb-chapter-header { max-width: 58rem; margin-bottom: clamp(1.5rem, 4vw, 3rem); }
.jsfb-reader__hero h1, .jsfb-tool-header h1, .jsfb-book-header h1, .jsfb-chapter-header h1, .jsfb-not-found h1 { margin: .2rem 0 .75rem; color: var(--jsfb-hero); font-size: clamp(2rem, 4.2vw, 3rem); line-height: 1.15; }
.jsfb-reader__hero p, .jsfb-book-header p, .jsfb-search-results > header p { max-width: 46rem; color: var(--jsfb-muted); font-size: 1.05rem; }
.jsfb-reader__translation, .jsfb-book-header > p:first-child, .jsfb-chapter-header > p:first-child { color: var(--jsfb-brand-dark); font-weight: 600; }
.jsfb-breadcrumbs { margin-bottom: 1.5rem; font-size: .9rem; color: var(--jsfb-muted); }
.jsfb-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.jsfb-breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: .45rem; color: #8b96a5; }
.jsfb-search-box { max-width: 46rem; margin: 1.5rem 0 2.5rem; }
.jsfb-search-box label, .jsfb-selector label, .jsfb-search-form label, .jsfb-preferences label { display: grid; gap: .4rem; font-weight: 600; }
.jsfb-search-box > div { display: flex; gap: .65rem; margin-top: .45rem; }
.jsfb-search-box input, .jsfb-selector select, .jsfb-search-form :is(input,select), .jsfb-preferences select { min-height: 2.85rem; border: 1px solid var(--jsfb-border); border-radius: .55rem; background: #fff; padding: .65rem .8rem; color: #111827; font: inherit; }
.jsfb-search-box input { flex: 1; min-width: 0; }
.jsfb-search-box button, .jsfb-selector button, .jsfb-search-form button, .jsfb-preferences button { min-height: 2.85rem; border: 0; border-radius: .55rem; background: var(--jsfb-brand-dark); padding: .65rem 1rem; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.jsfb-search-box button:hover, .jsfb-selector button:hover, .jsfb-search-form button:hover, .jsfb-preferences button:hover { background: #a92b12; }
.jsfb-continue { margin: 0 0 2rem; border-left: .25rem solid var(--jsfb-brand); background: #fff8f4; padding: 1rem 1.25rem; }
.jsfb-continue h2 { margin: 0 0 .35rem; font-size: 1.25rem; }
.jsfb-continue p { margin: 0 0 .5rem; }
.jsfb-book-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3rem); }
.jsfb-book-columns h2, .jsfb-book-overview h2, .jsfb-local-panel h2, .jsfb-chapter-picker h2 { color: var(--jsfb-navy); font-size: clamp(1.45rem, 2.8vw, 2rem); }
.jsfb-book-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style-position: inside; }
.jsfb-book-list li { border-bottom: 1px solid var(--jsfb-border); }
.jsfb-book-list a { display: flex; justify-content: space-between; gap: .75rem; padding: .75rem .35rem; text-decoration: none; }
.jsfb-book-list small { color: var(--jsfb-muted); white-space: nowrap; }
.jsfb-related-tools, .jsfb-chapter-links { display: flex; flex-wrap: wrap; gap: 1rem; margin-block: 2rem; padding-top: 1rem; border-top: 1px solid var(--jsfb-border); }
.jsfb-related-tools a, .jsfb-chapter-links a { font-weight: 600; }
.jsfb-chapter-picker { margin: 2rem 0; }
.jsfb-chapter-picker > div { display: grid; grid-template-columns: repeat(auto-fill, minmax(2.75rem, 1fr)); gap: .5rem; }
.jsfb-chapter-picker a { display: grid; min-height: 2.75rem; place-items: center; border: 1px solid var(--jsfb-border); border-radius: .5rem; background: #fff; text-decoration: none; }
.jsfb-book-overview { max-width: 54rem; }
.jsfb-book-overview > section { padding-block: 1.25rem; border-top: 1px solid var(--jsfb-border); }
.jsfb-book-overview p { line-height: 1.75; }
.jsfb-book-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 2rem 0; background: var(--jsfb-border); }
.jsfb-book-facts > div { background: var(--jsfb-soft); padding: 1rem; }
.jsfb-book-facts dt { color: var(--jsfb-muted); font-size: .85rem; font-weight: 600; }
.jsfb-book-facts dd { margin: .3rem 0 0; }
.jsfb-theme-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.jsfb-theme-list h3 { margin: 0 0 .35rem; color: var(--jsfb-navy); font-size: 1.05rem; }
.jsfb-outline { margin: 0; padding-left: 1.3rem; }
.jsfb-outline li { margin-bottom: 1rem; }
.jsfb-outline a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; }
.jsfb-outline p { margin: .3rem 0 0; }
.jsfb-teaching { background: #fff8f4; padding-inline: 1.25rem; }
.jsfb-selector { display: grid; grid-template-columns: minmax(10rem, 2fr) repeat(2, minmax(6rem, 1fr)) auto; gap: .75rem; align-items: end; margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--jsfb-border); border-radius: .75rem; background: var(--jsfb-soft); }
.jsfb-chapter-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-block: 1.5rem; }
.jsfb-chapter-nav a { min-height: 2.75rem; display: flex; align-items: center; justify-content: center; border: 1px solid var(--jsfb-border); border-radius: .55rem; text-decoration: none; font-weight: 600; }
.jsfb-chapter-nav a[rel="prev"] { justify-self: start; }
.jsfb-chapter-nav a[rel="next"] { justify-self: end; }
.jsfb-preferences { max-width: 48rem; margin: 1.25rem 0; border: 1px solid var(--jsfb-border); border-radius: .65rem; padding: .8rem 1rem; }
.jsfb-preferences summary { cursor: pointer; font-weight: 600; }
.jsfb-preferences > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.jsfb-preferences button { align-self: end; }
.jsfb-scripture { --jsfb-reader-font: 1.2rem; --jsfb-reader-line: 1.85; max-width: 48rem; margin: 2rem auto; border-radius: .75rem; background: var(--jsfb-reader-surface, #fff); padding: clamp(1rem, 3vw, 2rem); color: var(--jsfb-reader-color, #1f2933); font-size: var(--jsfb-reader-font); line-height: var(--jsfb-reader-line); }
.jsfb-scripture[data-font-size="small"] { --jsfb-reader-font: 1.05rem; }
.jsfb-scripture[data-font-size="large"] { --jsfb-reader-font: 1.35rem; }
.jsfb-scripture[data-font-size="xlarge"] { --jsfb-reader-font: 1.5rem; }
.jsfb-scripture[data-density="compact"] { --jsfb-reader-line: 1.6; }
.jsfb-scripture[data-density="spacious"] { --jsfb-reader-line: 2.1; }
.jsfb-scripture[data-surface="warm"] { --jsfb-reader-surface: #fff7e6; --jsfb-reader-color: #2d2418; }
.jsfb-scripture[data-surface="dark"] { --jsfb-reader-surface: #101827; --jsfb-reader-color: #f8fafc; }
.jsfb-verse { position: relative; padding: .45rem .5rem; border-radius: .45rem; }
.jsfb-verse p { margin: 0; }
.jsfb-verse sup { color: var(--jsfb-brand-dark); font-size: .68em; font-weight: 700; }
.jsfb-scripture[data-surface="dark"] .jsfb-verse sup { color: #ff9b7f; }
.jsfb-verse.is-highlighted { background: #fff0c7; color: #292014; box-shadow: inset 3px 0 var(--jsfb-brand); }
.jsfb-verse-actions { margin: .2rem 0 .1rem; font-size: .8rem; line-height: 1.4; }
.jsfb-verse-actions summary { width: fit-content; color: var(--jsfb-muted); cursor: pointer; }
.jsfb-scripture[data-surface="dark"] .jsfb-verse-actions summary { color: #cbd5e1; }
.jsfb-verse-actions > div { display: flex; flex-wrap: wrap; gap: .4rem; padding-top: .45rem; }
.jsfb-verse-actions :is(button,a) { min-height: 2.35rem; border: 1px solid currentColor; border-radius: .4rem; background: transparent; padding: .42rem .65rem; color: inherit; font: inherit; cursor: pointer; text-decoration: none; }
.jsfb-reader-status { min-height: 1.5rem; text-align: center; color: var(--jsfb-brand-dark); font-weight: 600; }
.jsfb-local-panel { max-width: 48rem; margin: 2rem auto; border-top: 1px solid var(--jsfb-border); padding-top: 1rem; }
.jsfb-local-panel ul { margin: 0; padding: 0; list-style: none; }
.jsfb-local-panel li { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--jsfb-border); }
.jsfb-local-panel button { border: 0; background: transparent; color: var(--jsfb-brand-dark); font: inherit; cursor: pointer; }
.jsfb-not-found { max-width: 48rem; }
.jsfb-notice { border-left: .25rem solid var(--jsfb-brand); background: #fff8f4; padding: 1rem; }
@media (max-width: 760px) {
	.jsfb-reader { width: min(100% - 1.25rem, 70rem); padding-block: 1.5rem 3rem; }
	.jsfb-book-columns, .jsfb-book-facts, .jsfb-theme-list { grid-template-columns: 1fr; }
	.jsfb-book-list { grid-template-columns: 1fr; }
	.jsfb-selector { grid-template-columns: 1fr 1fr; }
	.jsfb-selector label:first-child, .jsfb-selector button { grid-column: 1 / -1; }
	.jsfb-preferences > div { grid-template-columns: 1fr; }
	.jsfb-scripture { margin-inline: -.25rem; padding: 1rem .75rem; }
}
@media (prefers-reduced-motion: reduce) { .jsfb-reader *, .jsfb-quiz *, .jsfb-books * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }


/* 1.2.0 compact local states and native modern selects. */
.jsfb-reader :is(.jsfb-selector select,.jsfb-search-form select,.jsfb-preferences select){appearance:none;min-height:2.95rem;padding:.65rem 2.65rem .65rem .85rem;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324324a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:1.05rem 1.05rem}
.jsfb-reader :is(.jsfb-selector select,.jsfb-search-form select,.jsfb-preferences select):hover{border-color:#9ca8b7}
.jsfb-reader :is(.jsfb-selector select,.jsfb-search-form select,.jsfb-preferences select):disabled{cursor:not-allowed;background-color:#f1f4f7;color:#6b7280;opacity:1}
.jsfb-local-panel{max-width:48rem;margin:1.25rem auto;padding:1rem 1.1rem;border:1px solid var(--jsfb-border);border-radius:.7rem;background:var(--jsfb-soft);box-shadow:none}
.jsfb-local-panel h2{margin:0 0 .45rem;font-size:1.05rem}
.jsfb-local-panel__empty p,.jsfb-local-panel__saved p{margin:.15rem 0;color:var(--jsfb-muted);font-size:.92rem;line-height:1.5}
.jsfb-local-panel__empty strong{color:var(--jsfb-navy);font-weight:600}
.jsfb-local-panel__saved{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.jsfb-local-panel__saved a{font-weight:600}
.jsfb-local-panel ul{background:#fff;border-radius:.55rem;padding-inline:.75rem}
.jsfb-local-panel>div>button{margin-top:.75rem}
@media (forced-colors:active){.jsfb-reader :is(.jsfb-selector select,.jsfb-search-form select,.jsfb-preferences select){appearance:auto;background-image:none;padding-right:.85rem}.jsfb-local-panel{border:1px solid CanvasText}}

/* App-like Bible navigation and canonical literary groups. */
.jsfb-testament-tabs{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:1fr 1fr;max-width:34rem;margin:1.5rem auto 2rem;padding:.25rem;border:1px solid var(--jsfb-border);border-radius:.7rem;background:#fff}.jsfb-testament-tabs a{display:grid;min-height:44px;place-items:center;border-radius:.5rem;color:var(--jsfb-navy);font-weight:600;text-decoration:none}.jsfb-testament-tabs a:hover{background:var(--jsfb-soft)}.jsfb-book-group{margin-bottom:1.75rem}.jsfb-book-group h3{margin:0;padding:.65rem .35rem;border-bottom:2px solid var(--jsfb-brand);color:var(--jsfb-navy);font-size:1rem}.jsfb-primary-action{display:inline-flex;min-height:46px;align-items:center;margin-top:.5rem;padding:.7rem 1rem;border-radius:.55rem;background:var(--jsfb-brand-dark);color:#fff!important;font-weight:600;text-decoration:none}.jsfb-book-navigation{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--jsfb-border)}.jsfb-book-navigation a{display:flex;min-height:44px;align-items:center;gap:.35rem;font-weight:600;text-decoration:none}.jsfb-book-navigation a[rel=next]{justify-self:end;text-align:right}.jsfb-chapter-nav a{gap:.35rem}.jsfb-reader-tools{display:flex;justify-content:flex-end;max-width:48rem;margin:-.75rem auto .75rem}.jsfb-reader-tools button{display:inline-flex;min-height:44px;align-items:center;gap:.4rem;padding:.55rem .75rem;border:1px solid var(--jsfb-border);border-radius:.5rem;background:#fff;color:var(--jsfb-navy);font:inherit;font-weight:600;cursor:pointer}.jsfb-preferences summary{display:flex;min-height:44px;align-items:center;gap:.45rem}.jsfb-reader--chapter{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}
@media(max-width:760px){.jsfb-testament-tabs{top:0}.jsfb-book-columns{gap:2rem}.jsfb-chapter-picker>div{grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr))}.jsfb-book-navigation{font-size:.9rem}.jsfb-selector{position:sticky;z-index:3;top:0}}
