:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24322d;background:#f6f3eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid #cdd5cc;border-radius:8px;background:#fff;color:#294036;padding:9px 13px;font-weight:600}button:hover{background:#edf3ec}button:disabled{opacity:.55;cursor:wait}.primary{background:#2e5143;color:#fff;border-color:#2e5143}.primary:hover{background:#244437}.danger{color:#9a3f36}.shell{display:grid;grid-template-columns:254px minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1;min-height:0}.sidebar{background:#eaece3;border-right:1px solid #d8dcd2;padding:26px 18px}.brand{display:flex;gap:11px;align-items:center;margin-bottom:31px}.brand strong{display:block;font-family:Georgia,serif;font-size:17px}.brand small{display:block;color:#6a786d;margin-top:3px}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#315544;color:#f6ead0;font-size:22px}.wide{width:100%}.side-label,.eyebrow{display:block;font-size:11px;letter-spacing:.13em;font-weight:750;color:#748071}.side-label{margin:31px 9px 11px}#note-list{display:grid;gap:4px}.note-link{display:block;width:100%;text-align:left;border:0;background:transparent;padding:12px;border-radius:9px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-link.active{background:#d8e1d5;color:#1d4232}main{min-width:0}.empty{max-width:540px;margin:16vh auto;text-align:center;padding:20px}.empty-icon{font-size:50px;color:#5d806e}.empty h1{font-family:Georgia,serif;font-size:39px;font-weight:400;margin:12px}.empty p{color:#6a776d;line-height:1.6}.empty button{margin-top:15px}#editor{max-width:940px;margin:0 auto;padding:44px 5% 80px}.heading{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid #dcded4;padding-bottom:25px}.heading>div:first-child{flex:1;min-width:0}#title{width:100%;border:0;outline:0;background:transparent;font-family:Georgia,serif;font-size:clamp(31px,4vw,48px);padding:7px 0;color:#233b30}.heading-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}.heading-actions button{font-size:12px;white-space:nowrap}.blocks{display:block;padding:16px 0}.block{position:relative;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.block.prose{background:transparent;box-shadow:none;border-color:#dcded4}.block-label{font-size:11px;font-weight:750;letter-spacing:.11em;color:#6f8575;text-transform:uppercase;margin:0}.prose .block-label{display:none}.quote .block-label{font-family:Georgia,serif;font-size:16px;font-weight:600;line-height:1.35;letter-spacing:0;text-transform:none;color:#253e31}.block-header{position:relative;display:flex;align-items:baseline;gap:6px;min-width:0}.block-controls{position:relative;display:flex;gap:6px;align-items:center;margin-left:auto;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease}.block:hover .block-controls,.block:focus-within .block-controls,.block.show-controls .block-controls{opacity:1;visibility:visible;pointer-events:auto}.block-ghost{opacity:.35}.block-controls button{border:0;border-radius:0;background:transparent;box-shadow:none;padding:2px 4px;font-size:15px;line-height:1.2}.block-controls button:hover{background:transparent;color:#1f603d}.block textarea{display:block;width:100%;resize:vertical;min-height:115px;border:0;background:transparent;outline:0;color:#26362d;line-height:1.65;font-size:16px}.block.prose textarea{min-height:2.5em}.preview{margin:0;padding:0;border:0;background:transparent;white-space:pre-wrap;font-family:Georgia,serif;font-size:16px;line-height:1.45}.preview .verse-number{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.65em;font-weight:800;vertical-align:super;line-height:0;color:#496251}.preview mark{background:#fff0a8;color:inherit;padding:0 1px}.preview u{text-decoration-thickness:2px;text-underline-offset:3px}.hint{font-size:12px;color:#708076}.omission-list{position:absolute;top:100%;right:0;z-index:51;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;width:max-content;max-width:min(480px,90vw);padding:4px;background:#f6f3eb}.omission-list[hidden]{display:none}.omission-list button{font-size:11px;background:transparent}.add-panel{border:1px dashed #aabaae;border-radius:12px;padding:24px;background:#f2f5ee}.add-title{font-family:Georgia,serif;font-size:21px;margin-bottom:15px}.add-actions{display:flex;gap:10px;flex-wrap:wrap}.add-actions form{display:flex;gap:8px;flex:1;min-width:260px}.add-actions input{min-width:120px;flex:1;padding:9px 12px;border:1px solid #c8d4ca;border-radius:8px;background:#fff}.add-panel p{margin:8px 0 0;font-size:13px;color:#93473d}.editor-tip{font-size:13px;color:#68796b;line-height:1.5}.copyright{border-top:1px solid #e2e3db;background:#f2f2eb;padding:20px max(5%,25px);font-size:10px;line-height:1.55;color:#68736b}.copyright a{color:#365f48}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{padding:10px 12px;border-right:0;border-bottom:1px solid #d8dcd2}.brand{margin:0 0 7px}.side-label{margin:7px 0 5px}#note-list{display:flex;overflow-x:auto}.note-link{width:auto;min-width:120px}.heading{display:block}.heading-actions{justify-content:start;margin-top:8px}#editor{padding-top:16px}.heading{padding-bottom:12px}.block{padding:0}}@media print{body{background:#fff}.sidebar,.heading-actions,.block-controls,.drag-rail,.quote-tools,.add-panel,.editor-tip,.prose .block-label,.omission-list{display:none!important}.shell{display:block;min-height:0}#editor{display:block!important;max-width:none;padding:0}.heading{border:0;padding:0 0 20px}#title{font-size:29pt}.blocks{padding:0;gap:0}.quote .block-label{font-size:13pt;margin:0 0 7px}.block,.block.prose{break-inside:avoid;border:0;box-shadow:none;padding:0 0 12px;background:#fff}.block textarea{display:none}.preview{border-left:2px solid #888;background:#fff;padding:0 0 0 14px;margin:0 0 14px;font-size:12pt}.preview .verse-number{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.65em;font-weight:800;vertical-align:super;line-height:0;color:#496251}.preview mark{background:#fff0a8!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.copyright{padding:12px 0;font-size:8pt;break-inside:avoid}}
.search-form{margin-top:22px;padding-top:20px;border-top:1px solid #d5ddd2}.search-form label{display:block;font-size:12px;font-weight:700;color:#566e5c;margin-bottom:8px}.search-form>div{display:flex;gap:8px}.search-form input{flex:1;min-width:0;padding:9px 12px;border:1px solid #c8d4ca;border-radius:8px}.search-results{display:grid;gap:8px;margin-top:12px}.search-result{border:1px solid #d8e1d7;background:#fff;border-radius:8px;padding:12px;display:flex;gap:12px;align-items:start;justify-content:space-between}.search-result strong{display:block;color:#315742;margin-bottom:5px}.search-result span{font-family:Georgia,serif;line-height:1.45;font-size:14px}.search-result button{white-space:nowrap}.search-count{font-size:12px;color:#66796a;margin:4px 0}@media print{.search-form,.search-results{display:none!important}}

/* Insertion controls live in the gaps between sections. */
.insert-slot { position: relative; height: 18px; }
.insert-slot:first-child, .insert-slot.before-prose { height: 10px; }
.insert-hit { position: absolute; top: -10px; bottom: -10px; right: 100%; width: 160px; }
.insert-actions { position: absolute; z-index: 1; top: 50%; right: 100%; transform: translateY(-50%); display: flex; justify-content: flex-end; gap: 3px; width: 160px; padding-right: 8px; opacity: 0; visibility: hidden; pointer-events: none; }
.insert-hit:hover + .insert-actions, .insert-actions:hover, .insert-slot:focus-within .insert-actions { opacity: 1; visibility: visible; pointer-events: auto; }
.insert-actions button { border: 0; border-radius: 3px; background: transparent; padding: 4px 5px; font-size: 11px; white-space: nowrap; }
.insert-slot.editing { height: auto; min-height: 36px; }
.insert-actions[hidden], .insert-form[hidden] { display: none; }
.insert-form { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; min-height: 36px; }
.insert-form input { flex: 1; min-width: 180px; max-width: 280px; border: 1px solid #c8d4ca; border-radius: 4px; padding: 6px 8px; background: #fff; }
.insert-form button { padding: 6px 8px; font-size: 12px; }
@media (max-width: 1439px) {
  .insert-slot, .insert-slot:first-child, .insert-slot.before-prose { height: 29px; }
  .insert-slot.editing { height: auto; }
  .insert-hit { display: none; }
  .insert-actions { position: static; transform: none; justify-content: flex-start; width: auto; padding: 0; opacity: 1; visibility: visible; pointer-events: auto; }
}
@media print { .insert-slot { display: none !important; } }
.quote-body { position: relative; margin-top: 3px; }
.quote-body .preview { min-width: 0; }
.quote .preview { border: 0; padding-left: 20px; margin: 0; }
.drag-rail { position: absolute; top: 0; bottom: 0; left: 0; width: 18px; cursor: grab; touch-action: none; }
.drag-rail::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: #b9cbb9; }
.drag-rail:active { cursor: grabbing; }
.drag-rail:focus-visible { outline: 2px solid #315544; outline-offset: 2px; }
.prose > .drag-rail { top: 24px; left: -12px; width: 12px; opacity: 0; }
.prose > .drag-rail::before { width: 2px; background: #9bad9d; }
.prose:hover > .drag-rail, .prose:focus-within > .drag-rail, .prose.show-controls > .drag-rail { opacity: 1; }
.quote .block-label { display: flex; align-items: baseline; flex: 1; min-width: 0; flex-wrap: wrap; }
.block-header { position: sticky; top: 8px; z-index: 3; background: #f6f3eb; }
.block-header::before { content: ''; position: absolute; left: 0; right: 0; top: -8px; height: 8px; background: inherit; }
.reference-input { min-width: 0; max-width: 100%; border: 0; border-bottom: 1px solid transparent; border-radius: 0; padding: 0; background: transparent; color: inherit; font: inherit; line-height: inherit; }
.reference-input:focus { outline: 0; border-bottom-color: #698571; }
.reference-input:disabled { color: #718476; }
.reference-print { display: none; }
.verse-number.chapter-start::before { content: attr(data-chapter) ':'; font: inherit; }
.block-controls .remove-section svg { display: block; width: 16px; height: 16px; }
.reference-status { flex-basis: 100%; }
.reference-status:empty { display: none; }
.prose .block-header { min-height: 24px; }
.block + .block.prose { margin-top: 8px; }


.prose-render, .block.prose textarea { font-family: Georgia, serif; }
.passage-paragraph { display: block; }
.passage-paragraph + .passage-paragraph { margin-top: 1.45em; }
.passage-separator { display: none; }
.prose-render { font-size: 16px; line-height: 1.55; min-height: 1.55em; overflow-wrap: anywhere; }
.prose-render.is-empty { color: #738076; font-style: italic; cursor: text; }
.prose-render > :first-child { margin-top: 0; }
.prose-render > :last-child { margin-bottom: 0; }
.prose-render p, .prose-render ul, .prose-render ol, .prose-render blockquote { margin: 0 0 .55em; }
.prose-render h1, .prose-render h2, .prose-render h3, .prose-render h4 { margin: .75em 0 .3em; line-height: 1.25; }
.prose-render blockquote { border-left: 2px solid #b9cbb9; padding-left: 12px; color: #42594a; }
.prose-render pre { overflow-x: auto; padding: 10px; background: #e9eee7; border-radius: 5px; }
.prose-render code { background: #e9eee7; padding: 1px 3px; border-radius: 3px; }
.prose-render pre code { background: none; padding: 0; }
.block textarea[hidden], .prose-render[hidden] { display: none; }

@media print {
  .block, .block.prose, .preview { break-inside: auto; }
  .block-header { position: static; background: transparent; break-after: avoid; }
  .quote-body { display: block; break-inside: auto; }
  .passage-paragraph, .prose-render p, .prose-render blockquote, .prose-render li, .prose-render pre { break-inside: avoid; }
  .preview, .prose-render { orphans: 2; widows: 2; }
  .block + .block { margin-top: 0; }
  .prose-render, .prose-render[hidden] { display: block !important; font-size: 12pt; }
  .reference-input { display: none; }
  .reference-print { display: inline; }
  .quote .preview { border-left: 2px solid #888; padding-left: 14px; }
}

#title { font-size: clamp(25px, 3vw, 36px); }
.heading { flex-wrap: wrap; }
.heading > div:first-child { flex: 1 1 260px; }
.heading-actions { flex: 0 1 auto; }
.save-status { position: absolute; top: 16px; right: 5%; max-width: 50%; color: #728075; font-size: 11px; text-align: right; }
main { position: relative; display: flex; flex-direction: column; min-height: 0; overflow-y: auto; }
#editor, .empty { flex-shrink: 0; }
#editor { width: 100%; }
.copyright { flex-shrink: 0; margin-top: auto; }

@media screen and (min-width: 761px) {
  .sidebar { min-height: 0; overflow-y: auto; }
  .shell { background: linear-gradient(to right, #eaece3 254px, transparent 254px); }
}

@media (max-width: 760px) {
  .shell { grid-template-rows: auto minmax(0, 1fr); }
  .sidebar { max-height: 35vh; overflow-y: auto; }
  .save-status { top: 10px; }
  #editor { padding-top: 44px; }
}

@page {
  margin-bottom: 0.45in;
  @bottom-center {
    content: counter(page);
    font-family: Georgia, serif;
    font-size: 8pt;
    color: #000;
  }
}
@page :first { margin-top: 0.25in; }

@media print {
  :root { background: #fff; }
  body { display: block; height: auto; min-height: 0; overflow: visible; }
  .shell { height: auto; }
  main { display: block; overflow: visible; }
  .copyright { margin-top: 0; background: #fff; }
  .save-status { display: none !important; }
  .heading { padding-bottom: 6px; }
  #title { padding: 0; font-size: 18pt; line-height: 1.15; }
  .quote .block-label { font-size: 10pt; margin-bottom: 4px; }
  .block, .block.prose { padding-bottom: 8px; }
  .preview, .prose-render, .prose-render[hidden] { font-size: 9pt; }
  body, body * { color: #000 !important; }
}

/* A compact note navigator in the left margin. */
#editor { position: relative; }
.outline { --outline-width: min(300px, calc(55vw - 626px)); position: sticky; top: 12px; height: 0; z-index: 20; }
.outline > button { position: absolute; left: calc(0px - var(--outline-width) - 16px); top: 0; width: var(--outline-width); text-align: left; border: 0; background: transparent; padding: 6px 8px; color: #53705c; font-size: 12px; }
.outline > button::before { content: '≡'; margin-right: 8px; font-size: 17px; vertical-align: -1px; }
.outline-list { position: absolute; left: calc(0px - var(--outline-width) - 16px); top: 32px; width: var(--outline-width); max-height: calc(100vh - 56px); overflow-y: auto; padding: 2px 0; color: #728075; font-size: 12px; }
.outline-list[hidden] { display: none; }
.outline-list button { display: block; width: 100%; border: 0; border-left: 2px solid transparent; border-radius: 0; background: transparent; text-align: left; padding: 6px 7px; color: #64766a; font-size: 12px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.outline-list button:hover { background: #eef4ed; }
.outline-list button.active { border-left-color: #315544; color: #254633; background: #e5eee3; font-weight: 650; }

.note-date { display: flex; align-items: center; gap: 8px; margin-top: 2px; color: #738076; font-size: 12px; }
.note-link small { display: block; margin-top: 3px; color: #6f7d70; font-size: 11px; font-weight: 400; }
.note-link.active small { color: #526e59; }
.note-date input { border: 0; background: transparent; padding: 2px 0; color: #53705c; font-size: 12px; font-weight: 500; }
.note-date input:focus { outline: 1px solid #8baa92; outline-offset: 2px; }
#print-date { display: none; }

.explorer { position: fixed; z-index: 80; top: 0; right: 0; bottom: 0; width: min(620px, 100vw); display: flex; flex-direction: column; overflow: hidden; background: #fdfcf7; border-left: 1px solid #cbd7cb; box-shadow: -12px 0 32px #20382d24; padding: 16px 18px 0; }
.explorer[hidden], .explore-reader[hidden] { display: none; }
.explorer-head { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; background: #fdfcf7; padding: 3px 0 10px; font-family: Georgia, serif; font-size: 21px; }
.explorer-head button { border: 0; background: transparent; padding: 0 5px; font-size: 25px; font-weight: 400; }
.explorer form { margin: 10px 0 18px; padding: 0; border: 0; }
.explorer form label { display: block; margin-bottom: 5px; color: #566e5c; font-size: 12px; font-weight: 700; }
.explorer form > div { display: flex; gap: 5px; }
.explorer form input { min-width: 0; flex: 1; border: 1px solid #c8d4ca; border-radius: 5px; padding: 7px 9px; background: white; }
.explorer form button, .explore-actions button, .search-pages button { padding: 6px 9px; font-size: 12px; }
.explore-reader { margin: 22px 0; border-top: 1px solid #dce3d9; padding-top: 12px; }
.explore-reader h2 { margin: 0 0 8px; font: 600 20px Georgia, serif; }
.explore-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 15px; }
.explore-passage { border-left: 3px solid #b9cbb9; padding-left: 17px; font: 16px/1.45 Georgia, serif; color: #17241d; }
.explore-passage p { margin: 0 0 1.15em; }
.explore-passage blockquote { margin: 0 0 1.15em; }
.explore-passage .line { display: block; }
/* Poetry lines provide their own breaks; ESV also emits br separators. */
.explore-passage :is(.line, .begin-line-group, .end-line-group) + br { display: none; }
.explore-passage .begin-line-group, .explore-passage .end-line-group { display: block; }
.explore-passage .begin-line-group:not(:first-child) { margin-top: 1em; }
.explore-passage .end-line-group:not(:last-child) { margin-bottom: 1em; }
.explore-passage .indent { padding-left: 1.5em; }
.explore-passage h2, .explore-passage h3, .explore-passage h4 { margin: 1.1em 0 .4em; font-family: Georgia, serif; font-size: 15px; line-height: 1.3; }
.explore-passage .verse-num, .explore-passage .chapter-num { font-family: ui-sans-serif, system-ui, sans-serif; font-size: .65em; font-weight: 800; vertical-align: super; line-height: 0; color: #496251; }
.explore-passage .chapter-num { font-size: .9em; margin-right: 4px; }
.explore-crossref { border: 0; border-radius: 2px; background: transparent; padding: 0 2px; color: #477052; font: 700 .8em ui-sans-serif, system-ui, sans-serif; text-decoration: underline; }
.explore-crossref[aria-pressed="true"] { background: #e3edcf; outline: 1px solid #a2b987; }
.explore-passage .footnotes { margin-top: 20px; padding-top: 7px; border-top: 1px solid #dce3d9; font-size: 12px; }
.explore-related { margin-top: 20px; padding-top: 8px; border-top: 1px solid #dce3d9; }
.explore-related h3 { margin: 4px 0 8px; font: 600 14px ui-sans-serif, system-ui, sans-serif; }
.search-result { display: block; border-top: 1px solid #e1e6dd; padding: 12px 10px; }
.search-hit { display: block; border: 0; background: transparent; padding: 0; color: #315544; font: 600 15px Georgia, serif; }
.search-result span { display: block; margin-top: 4px; color: #38463a; font: 13px/1.45 Georgia, serif; }
.search-result .save-crossref { margin-top: 8px; padding: 5px 8px; font-size: 12px; }
.search-pages { display: flex; justify-content: space-between; margin-top: 10px; }
.explorer.has-preview { width: min(1140px, calc(100vw - 24px)); }
.explorer-tools { flex-shrink: 0; margin-bottom: 12px; }
.explorer-tools > summary, #search-results-pane > summary { cursor: pointer; color: #59715e; font-size: 12px; padding: 4px 0; }
.explorer-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; flex: 1; min-height: 0; }
.has-preview .explorer-workspace { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.explorer-main, .explorer-preview-pane { min-width: 0; min-height: 0; overflow-y: auto; padding: 0 8px 28px 0; scrollbar-gutter: stable; }
.explorer-preview-pane { border-left: 1px solid #dce3d9; padding-left: 18px; }
.explorer-preview-pane[hidden], .explore-origin[hidden], #search-results-pane[hidden] { display: none; }
.explore-origin { position: sticky; top: 0; z-index: 2; background: #fdfcf7; padding: 6px 0 10px; border-bottom: 1px solid #dce3d9; }
.explore-origin strong, #preview-origin strong { font-size: 12px; color: #53705c; }
.explore-origin-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.explore-origin-heading button { flex-shrink: 0; border: 0; background: transparent; color: #315544; padding: 4px 6px; font-size: 12px; }
#crossref-status { display: block; margin-top: 6px; font-size: 11px; color: #53705c; }
#crossref-status:empty { display: none; }
.explore-origin blockquote, #preview-origin blockquote { margin: 6px 0 0; font: 14px/1.45 Georgia, serif; }
.crossref-selection { max-height: min(25vh, 200px); overflow-y: auto; white-space: pre-wrap; }
.source-crossrefs h3 { font-size: 13px; margin: 14px 0 6px; }
.source-crossrefs .crossref-choice, .explore-related .crossref-choice { border-bottom: 1px solid #e4e9df; padding: 7px 5px; }
.crossref-choice.active { background: #e9f1e5; }
.crossref-choice button { border: 0; background: transparent; padding: 4px 5px; font-size: 12px; }
.crossref-choice .crossref-read { min-width: 0; font-size: 13px; font-weight: 400; }
.crossref-label { display: inline-block; min-width: 1.4em; color: #477052; font: 700 11px ui-sans-serif, system-ui, sans-serif; }
.crossref-preview { display: block; margin-top: 6px; color: #26392d; font: 14px/1.45 Georgia, serif; white-space: pre-wrap; }
.crossref-preview sup { font: 700 .65em ui-sans-serif, system-ui, sans-serif; color: #496251; }
.crossref-match, .crossref-choice.crossref-match, .explore-crossref.crossref-match { background: #f6edb9; outline: 1px solid #d5c77d; }
#explore-trail { position: sticky; top: 0; z-index: 2; background: #fdfcf7; padding-bottom: 8px; }
#explore-trail > button, .reading-trail button, .reference-siblings button { border: 0; background: transparent; padding: 4px 6px; font-size: 11px; }
.reading-trail { display: flex; gap: 3px; flex-wrap: wrap; margin-top: 5px; }
.reading-trail button { background: #edf3e9; border-radius: 4px; font-family: Georgia, serif; }
.reading-trail [aria-current="step"] { background: #dce9d7; color: #234c34; }
#preview-origin { padding: 8px 0 12px; }
#explore-preview-reader h2 { margin: 0 0 8px; font: 600 20px Georgia, serif; }
.passage-focus { background: #d9e9f4; outline: 1px solid #b1cce0; }
.comment-anchor { text-decoration: underline dotted #a5b5a0; text-underline-offset: 3px; }
@media (max-width: 900px) {
  .explorer, .explorer.has-preview { width: 100vw; }
  .has-preview .explorer-workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(150px, 38%) minmax(0, 1fr); gap: 10px; }
  .explorer-preview-pane { border-left: 0; border-top: 1px solid #dce3d9; padding: 8px 8px 20px 0; }
}

.annotation-popover { position: fixed; z-index: 100; display: flex; flex-wrap: wrap; gap: 3px; max-width: min(400px, calc(100vw - 16px)); padding: 5px; border: 1px solid #cdd9cb; border-radius: 8px; background: #fffefa; box-shadow: 0 10px 28px #17291f38; }
.annotation-popover[hidden] { display: none; }
.annotation-popover.split-picker { display: flex; flex-direction: column; flex-wrap: nowrap; max-height: min(440px, 60vh); overflow-y: auto; }
.annotation-popover.split-picker > button { text-align: left; }
.preview .verse-number[role="button"] { cursor: pointer; }
.preview .verse-number[role="button"]:hover { color: #1f603d; text-decoration: underline; }
.preview .verse-number[role="button"]:focus-visible { outline: 1px solid #7c9e80; outline-offset: 3px; }
.annotation-popover > button { border: 0; border-radius: 5px; background: transparent; padding: 7px 9px; white-space: nowrap; font-size: 12px; }
.annotation-popover > button:hover { background: #e8f1e8; }
.annotation-popover > button[aria-pressed="true"] { box-shadow: inset 0 0 0 1px #7c9e80; color: #234b32; }
.annotation-popover > .selection-highlight,
.annotation-popover > .selection-underline,
.annotation-popover > .selection-omit { min-width: 32px; padding: 5px 8px; text-align: center; font-size: 17px; font-weight: 650; }
.annotation-popover > .selection-highlight { background: linear-gradient(transparent 45%, #fff0a8 45%, #fff0a8 90%, transparent 90%); }
.annotation-popover > .selection-underline { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.annotation-popover > .selection-omit { font-size: 21px; line-height: .85; }
.crossref-picker { display: block; width: min(360px, calc(100vw - 16px)); max-height: min(65vh, 560px); overflow-y: auto; }
.crossref-picker strong { display: block; padding: 5px; font-size: 12px; }
.crossref-picker p { margin: 4px 5px 10px; font-size: 12px; }
.crossref-choice { display: flex; align-items: flex-start; gap: 4px; padding: 3px 0; }
.crossref-choice button:first-child { flex: 1; text-align: left; font-family: Georgia, serif; }
.crossref-add { display: flex; gap: 4px; margin-top: 8px; padding-top: 8px; border-top: 1px solid #d9e0d5; }
.crossref-add input { flex: 1; min-width: 0; border: 1px solid #cbd7cb; border-radius: 4px; padding: 5px 7px; font-size: 12px; }
.annotation-popover.comment-composer { display: block; width: min(320px, calc(100vw - 16px)); }
.comment-composer strong { display: block; padding: 4px 5px 8px; font-size: 12px; }
.comment-composer textarea { display: block; width: 100%; min-height: 90px; resize: vertical; border: 1px solid #cad7c9; border-radius: 5px; padding: 8px; font-family: Georgia, serif; font-size: 14px; }
.composer-actions { display: flex; gap: 4px; justify-content: flex-end; margin-top: 5px; }
.composer-actions button { border: 0; background: transparent; padding: 5px 7px; font-size: 12px; }
.composer-actions button:first-child { background: #315544; color: #fff; border-radius: 4px; }
.omitted-text { cursor: pointer; }
.preview mark, .preview u { cursor: pointer; }

.margin-comments { position: absolute; left: calc(100% + 16px); top: 0; width: var(--margin-width); }
.margin-comment { position: absolute; left: 0; display: block; width: 100%; border: 0; border-left: 2px solid #8dac91; border-radius: 0; background: #eef3e9; padding: 8px 10px; text-align: left; font-family: Georgia, serif; font-size: 13px; font-weight: 400; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
.margin-comment small { display: block; margin-bottom: 4px; color: #607562; font: 600 10px ui-sans-serif, system-ui, sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.margin-comment span { display: block; }
.comment-heading { display: flex; align-items: baseline; gap: 6px; }
.comment-heading small { flex: 1; min-width: 0; }
.comment-edit { border: 0; background: transparent; padding: 1px 3px; font-size: 10px; }
.comment-content > :first-child { margin-top: 0; }
.comment-content > :last-child { margin-bottom: 0; }
.comment-content p, .comment-content ul, .comment-content ol, .comment-content blockquote, .comment-content pre { margin: 0 0 .55em; }
.comment-content h1, .comment-content h2, .comment-content h3, .comment-content h4, .comment-content h5, .comment-content h6 { margin: .7em 0 .3em; font-size: 1.15em; line-height: 1.3; }
.comment-content ul, .comment-content ol { padding-left: 1.4em; }
.comment-content blockquote { margin-left: 0; padding-left: .7em; border-left: 2px solid #b9cbb9; }
.comment-content pre { white-space: pre-wrap; }
.comment-content code { font-size: .9em; background: #e3eadf; padding: 1px 3px; border-radius: 2px; }
.comment-content a { color: inherit; }
.crossref-anchor { text-decoration: underline dotted #8ba890; text-underline-offset: 3px; }
.saved-crossref { cursor: default; }
.crossref-heading { display: flex; align-items: baseline; gap: 3px; }
.crossref-heading input { flex: 1; min-width: 0; width: 0; font: 600 12px Georgia, serif; }
.saved-crossref .crossref-print { display: none; }
.crossref-heading button { flex-shrink: 0; border: 0; background: transparent; padding: 1px 3px; font-size: 10px; }
.crossref-text { margin-top: 5px; white-space: pre-wrap; font: 12px/1.4 Georgia, serif; }
.crossref-text sup { font: 700 9px ui-sans-serif, system-ui, sans-serif; }
.crossref-text mark { background: #fff0a8; }

@media (max-width: 1599px) {
  .outline { position: relative; top: auto; height: auto; margin: -12px 0 8px; }
  .outline > button { position: static; width: auto; padding-left: 0; }
  .outline-list { position: static; width: min(100%, 320px); max-height: none; overflow: visible; margin-bottom: 8px; }
  .margin-comments { position: static; width: auto; margin: 8px 0 0 20px; }
  .margin-comment { position: static; top: auto !important; margin-top: 5px; }
}
@media print {
  .outline, .explorer, .annotation-popover, .note-date input { display: none !important; }
  .passage-focus { background: transparent; outline: 0; }
  #print-date:not(:empty) { display: block; font-size: 9pt; margin-top: 2px; }
  #editor:has(.margin-comment) .quote-body { display: grid; grid-template-columns: minmax(0, 1fr) 28%; column-gap: 12pt; align-items: start; }
  .quote-body > .preview { grid-column: 1; grid-row: 1; }
  #editor:has(.margin-comment) .block-header, #editor:has(.margin-comment) .prose-render { width: calc(72% - 12pt); }
  .margin-comments { grid-column: 2; grid-row: 1; position: static; min-width: 0; width: auto; margin: 0; }
  .margin-comment { position: static; top: auto !important; display: block; margin: 0 0 6pt; padding: 3px 6px; background: #fff; border-left: 1px solid #555; font-size: 8pt; line-height: 1.35; break-inside: avoid; }
  .margin-comment small { font-size: 7pt; white-space: normal; }
  .comment-edit { display: none !important; }
  .crossref-text { font-size: 8pt; line-height: 1.35; }
  .saved-crossref .crossref-heading input, .saved-crossref .crossref-heading button { display: none !important; }
  .saved-crossref .crossref-print { display: inline; font-weight: 700; }
  .quote-body { margin-bottom: 0 !important; }
}

.published { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 14px; padding: 10px 14px; border: 1px solid #c9d8c9; border-radius: 10px; background: #edf3ec; font-size: 13px; color: #2f4a3c; }
.published[hidden] { display: none; }
.published a { color: #2e5143; font-weight: 600; overflow-wrap: anywhere; }
.published-actions { display: flex; gap: 6px; margin-left: auto; }
.published-actions button { font-size: 12px; padding: 6px 10px; }
.published-actions button[hidden] { display: none; }
@media print { .published { display: none !important; } }
