/* The Covenantal Bible public HTML edition — Gate 6H adapted from fft-fahy-co framework */
:root{
  --paper:#fffdf8;
  --ink:#1f1a16;
  --muted:#6b625a;
  --rule:#ded2c2;
  --soft:#f7efe4;
  --soft2:#fbf6ef;
  --accent:#694b2e;
  --accent2:#8b6a45;
  --shadow:0 18px 45px rgba(48,34,20,.09);
  --max:116rem;
  --measure:78ch;
  /* Legacy edition variable aliases used by existing audio/footnote rules. */
  --line:var(--rule);
  --panel:var(--soft2);
  --accent-soft:var(--soft);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:8rem}
body{
  margin:0;
  background:linear-gradient(180deg,var(--paper),#faf4ec);
  color:var(--ink);
  font-family:'EB Garamond',Georgia,serif;
  font-size:clamp(1.075rem,1vw + .7rem,1.28rem);
  line-height:1.62;
  text-rendering:optimizeLegibility;
}
a{color:var(--accent);text-underline-offset:.16em}
a:hover{color:#3c2818}
.skip-link{position:absolute;left:-999px;top:.5rem;background:var(--ink);color:var(--paper);padding:.6rem .8rem;border-radius:.5rem;z-index:20}
.skip-link:focus{left:.5rem}
.site-header{
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(255,253,248,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--rule);
  padding:1rem clamp(1rem,3vw,2rem);
  display:grid;
  grid-template-columns:minmax(20rem,1fr) minmax(19rem,34rem);
  gap:1rem;
  align-items:start;
}
.title-wrap{min-width:0}
.title-wrap h3,.site-kicker,.eyebrow{
  font-family:'Cormorant Garamond',Georgia,serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
  margin:0 0 .15rem;
}
h1,h2,h3,h4,.book h2,.chapter h3,.front-note h2,.results h2,.playlist-heading h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:700;
}
h1{
  line-height:.98;
  font-size:clamp(2.05rem,4vw,4rem);
  margin:.05rem 0 .2rem;
  letter-spacing:-.025em;
}
h1 a{text-decoration:none;color:inherit}
h1 span{font-size:.45em;letter-spacing:.02em;color:var(--accent)}
.edition-label{margin:.2rem 0 .1rem;color:var(--accent);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.05rem,1vw + .65rem,1.35rem);font-weight:700;letter-spacing:.045em;text-transform:uppercase}
.title-tagline{margin:.15rem 0 .1rem;color:var(--accent);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.05rem,1vw + .65rem,1.45rem);font-weight:700;letter-spacing:.035em;line-height:1.2}
.subtitle{max-width:56ch;margin:.25rem 0 0;color:var(--muted);font-size:1rem;line-height:1.42}
.tools{
  background:var(--soft2);
  border:1px solid var(--rule);
  border-radius:1rem;
  padding:.8rem;
  box-shadow:var(--shadow);
}
.tools label,.control-label{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:.95rem;color:var(--muted);margin:0 0 .15rem}
select,input,button{font:inherit;color:inherit}
select,input[type="search"]{
  width:100%;
  min-width:0;
  border:1px solid var(--rule);
  border-radius:.75rem;
  background:white;
  color:var(--ink);
  padding:.48rem .65rem;
  outline:none;
}
select:focus-visible,input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgba(105,75,46,.28);outline-offset:3px}
button,.button{
  appearance:none;
  border:1px solid var(--accent2);
  border-radius:.75rem;
  background:var(--accent);
  color:#fffdf8;
  padding:.48rem .75rem;
  cursor:pointer;
}
button:hover{filter:brightness(.96)}
button:disabled{opacity:.55;cursor:default;filter:none}
.search-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;margin-top:.15rem}
#clearSearch{white-space:nowrap}
.selectors{display:grid;grid-template-columns:1.4fr .8fr;gap:.55rem;margin-top:.55rem}
.search-status{min-height:1.35rem;margin:.55rem 0 0;color:var(--muted);font-size:.95rem}
.layout{
  display:grid;
  grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);
  gap:clamp(1rem,3vw,2rem);
  align-items:start;
  width:min(var(--max),100%);
  margin:0 auto;
  padding:clamp(1rem,3vw,2.25rem);
}
.toc{
  position:sticky;
  top:8.4rem;
  align-self:start;
  max-height:calc(100vh - 10rem);
  overflow:auto;
  background:var(--soft2);
  border:1px solid var(--rule);
  border-radius:1rem;
  padding:1rem;
  box-shadow:var(--shadow);
}
.toc h2{font-family:'Cormorant Garamond',Georgia,serif;margin:0 0 .5rem;font-size:1.35rem;color:var(--ink);letter-spacing:0;text-transform:none}
.toc nav{display:grid;gap:.2rem}
.toc a{display:flex;gap:.55rem;align-items:baseline;text-decoration:none;border:1px solid transparent;border-radius:.75rem;padding:.32rem .48rem;color:var(--accent);line-height:1.2}
.toc a:hover,.toc a:focus{background:#fff;border-color:var(--rule);color:#3c2818}
.toc span{min-width:2.1rem;color:var(--muted);font-size:.82rem;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700}
.scripture{
  min-width:0;
  background:rgba(255,253,248,.74);
  border:1px solid var(--rule);
  border-radius:1.25rem;
  padding:clamp(1.15rem,3vw,2.75rem);
  box-shadow:var(--shadow);
}
.front-note,.results,.playlist-panel,.book-loader{
  border:1px solid var(--rule);
  background:var(--soft2);
  border-radius:1rem;
  padding:1rem 1.2rem;
  margin:0 0 1.5rem;
}
.front-note h2,.results h2{margin:.1rem 0 .4rem;font-size:1.35rem}
.front-note p{margin:0;color:var(--muted)}
.results-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.result-item{display:block;border:1px solid var(--rule);border-radius:.8rem;background:#fff;padding:.65rem;text-decoration:none;margin:.55rem 0 0}
.result-ref{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;line-height:1.15;color:var(--accent)}
.result-snippet{display:block;color:var(--muted);font-size:.95rem;line-height:1.35;margin-top:.2rem}
.book{margin:0 0 3.5rem}
.book-head{border-bottom:1px solid var(--rule);padding-bottom:1rem;margin-bottom:1.15rem}
.book h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.03;margin:.1rem 0 .45rem;color:var(--ink);letter-spacing:-.025em}
.chapter-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin:.7rem 0 0}
.chapter-pills a{text-decoration:none;border:1px solid var(--rule);background:var(--soft2);border-radius:999px;padding:.16rem .55rem;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:1rem;line-height:1.1;color:var(--accent)}
.chapter-pills a:hover,.chapter-pills a:focus{background:#fff;color:#3c2818}
.chapter{scroll-margin-top:8rem;margin:0 0 2.35rem}
.chapter h3{font-size:clamp(1.45rem,2.5vw,2.1rem);line-height:1.12;margin:1.1rem 0 .55rem;color:var(--accent)}
.chapter h3 a{text-decoration:none;color:inherit}
.chapter-text{font-size:1.08em;max-width:var(--measure);line-height:1.72;word-spacing:.01em}
.verse{display:inline;scroll-margin-top:8rem}
.verse:target{background:linear-gradient(transparent 12%,var(--soft) 12%,var(--soft) 88%,transparent 88%)}
.verse-marker{font-size:.72em;vertical-align:super;text-decoration:none;color:var(--accent);font-weight:700;padding-right:.18rem;line-height:0}
.verse-marker:hover{text-decoration:underline}
.fn-marker,.mpre-fnref{font-size:.68em;line-height:0;vertical-align:super;color:var(--accent);font-weight:700;padding-inline:.035rem}
.verse-text b{font-weight:700;color:#302922}.verse-text b:first-child{letter-spacing:.02em}.dropcap{font-size:1.82em;line-height:0;vertical-align:-.22em;font-weight:700;color:#302922}
br{line-height:1.95}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#topButton,.top-button{
  position:fixed;
  right:1rem;
  bottom:calc(1rem + env(safe-area-inset-bottom));
  z-index:1000;
  border:1px solid var(--rule);
  background:var(--soft2);
  color:var(--ink);
  border-radius:999px;
  width:2.8rem;
  height:2.8rem;
  font:700 1.2rem/1 'Cormorant Garamond',Georgia,serif;
  box-shadow:var(--shadow);
  cursor:pointer;
  display:none;
  align-items:center;
  justify-content:center;
  padding:0;
  text-decoration:none;
}
#topButton.visible,.top-button.visible{display:flex}
#topButton:hover,.top-button:hover{filter:none;background:#fff}
@media (max-width:1100px), (max-height:820px){html{scroll-padding-top:1rem}.site-header{position:relative}.toc{position:relative;top:auto;max-height:none}.layout{grid-template-columns:1fr}.toc{order:-1}}
@media (max-width:760px){.site-header{grid-template-columns:1fr;padding:.9rem}.title-wrap h1,h1{font-size:clamp(2rem,12vw,3.2rem)}.search-row,.selectors{grid-template-columns:1fr}.layout{padding:.85rem}.scripture{border-radius:1rem;padding:1rem}.toc{padding:.85rem}.toc nav{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.chapter{scroll-margin-top:1rem}.verse{scroll-margin-top:1rem}.chapter-text{max-width:100%}#topButton,.top-button{right:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom));width:2.35rem;height:2.35rem;font-size:1.08rem}}
@media print{.site-header,.toc,#topButton,.top-button,.front-note,.results,.playlist-panel{display:none!important}.layout{display:block;padding:0}.scripture{border:0;box-shadow:none;padding:0}.book{break-before:page}.chapter{break-inside:auto}.verse-marker{color:#000}body{background:white;color:black}}

/* Chapter-level AI narration controls */
.audio-disclosure{margin-top:.7rem;color:var(--muted)}
.chapter-audio{
  max-width:78ch;
  margin:.35rem 0 1rem;
  border:1px solid var(--line);
  border-radius:1rem;
  background:rgba(255,253,248,.78);
  padding:.85rem 1rem;
}
.chapter-audio-head{display:flex;flex-wrap:wrap;gap:.55rem;align-items:baseline;margin-bottom:.5rem;color:var(--accent)}
.chapter-audio-head span{color:var(--muted);font-size:.88rem}
.chapter-audio audio{display:block;width:100%;max-width:42rem}
.audio-status,.audio-links{margin:.45rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}
.audio-status code{font-family:inherit;font-size:.9em;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:.35rem;padding:.05rem .25rem}
.audio-links a{color:var(--accent);font-weight:700;text-decoration:none}.audio-links a:hover{text-decoration:underline}
.chapter-audio.audio-pending{border-style:dashed}.chapter-audio.audio-pending .audio-status{color:var(--accent)}
@media print{.chapter-audio{display:none!important}}

.mpre-home-link {
  color: inherit;
  text-decoration: none;
}

.mpre-home-link:focus,
.mpre-home-link:hover {
  text-decoration: underline;
}

.return-to-index {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: var(--paper, #fff);
  color: inherit;
  text-decoration: none;
  font-size: 1.35rem;
  line-height: 1;
  font-weight: 700;
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.12);
}

.return-to-index:focus,
.return-to-index:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.return-to-index:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

.audio-notice,
.audio-note {
  font-size: 0.95rem;
}

.audio-note {
  margin-top: 0.35rem;
  opacity: 0.85;
}


/* Lazy-loaded book shell */
.book-loader{
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:1rem;
  padding:1rem 1.2rem;
  margin:0 0 1.5rem;
  color:var(--muted);
}
.book-loader.is-loading{border-style:dashed}
.book-loader.is-error{color:var(--accent);border-color:var(--accent)}
.book-content{min-height:12rem}

/* Production audio details */
.audio-details{
  margin:.55rem 0 0;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.45;
}
.audio-details summary{
  cursor:pointer;
  color:var(--accent);
  font-weight:700;
}
.audio-details a{
  color:var(--accent);
  font-weight:700;
  text-decoration:none;
}
.audio-details a:hover,
.audio-details a:focus{text-decoration:underline}
.audio-error{
  margin:.45rem 0 0;
  color:var(--accent);
  font-size:.86rem;
  line-height:1.45;
}
@media print{
  .book-loader,.audio-details,.audio-error{display:none!important}
}


/* Accessible chapter/book audio playlist */
.playlist-panel{
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:1.2rem;
  padding:1rem 1.2rem;
  margin:0 0 1.5rem;
}
.playlist-heading h2{
  margin:.1rem 0 .35rem;
  font-size:1.1rem;
  color:var(--accent);
}
.playlist-heading p{
  margin:0 0 .9rem;
  color:var(--muted);
  font-size:.95rem;
}
.playlist-builder{
  display:grid;
  grid-template-columns:1.4fr .65fr .65fr auto;
  gap:.55rem;
  align-items:end;
  margin-bottom:1rem;
}
.playlist-builder label{
  font-weight:700;
  font-size:.88rem;
  color:var(--muted);
}
.playlist-builder label,
.playlist-builder select{
  min-width:0;
}
.playlist-builder-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.playlist-panel button{
  font:inherit;
  border:1px solid var(--accent2);
  background:var(--accent);
  color:#fffdf8;
  border-radius:.65rem;
  padding:.5rem .7rem;
  cursor:pointer;
}
.playlist-panel button:hover,
.playlist-panel button:focus{
  background:#fff;
  color:var(--accent);
}
.playlist-panel button:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:2px;
}
.playlist-player{
  border-top:1px solid var(--line);
  padding-top:1rem;
}
.playlist-now{
  margin:0 0 .55rem;
  color:var(--accent);
  font-weight:700;
}
#playlistAudio{
  display:block;
  width:100%;
  max-width:42rem;
}
.playlist-main-controls{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:.75rem 0 .55rem;
}
.playlist-follow{
  display:inline-flex;
  gap:.45rem;
  align-items:center;
  color:var(--muted);
  font-size:.92rem;
}
.playlist-status{
  min-height:1.35rem;
  margin:.55rem 0;
  color:var(--muted);
  font-size:.9rem;
}
.playlist-items{
  margin:.75rem 0 0;
  padding-left:1.35rem;
  max-height:18rem;
  overflow:auto;
  border-top:1px solid var(--line);
}
.playlist-item,
.playlist-empty{
  padding:.55rem 0;
  border-bottom:1px solid var(--line);
}
.playlist-item{
  display:flex;
  gap:.75rem;
  justify-content:space-between;
  align-items:center;
}
.playlist-item.is-current .playlist-item-label{
  color:var(--accent);
  font-weight:700;
}
.playlist-item-controls{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  justify-content:flex-end;
}
.playlist-item-controls button{
  padding:.35rem .55rem;
  font-size:.86rem;
}
.playlist-empty{
  color:var(--muted);
}
@media (max-width: 900px){
  .playlist-builder{grid-template-columns:1fr 1fr 1fr;}
  .playlist-builder-actions{grid-column:1 / -1;}
}
@media (max-width: 560px){
  .playlist-panel{padding:.9rem;border-radius:1rem;}
  .playlist-builder{grid-template-columns:1fr;}
  .playlist-builder-actions,.playlist-main-controls{display:grid;grid-template-columns:1fr;}
  .playlist-item{align-items:flex-start;flex-direction:column;}
  .playlist-item-controls{justify-content:flex-start;}
}
@media print{.playlist-panel{display:none!important}}


/* FFT static isolated footnote/cross-reference blocks.
   These blocks prevent footnote bodies after the rule line from visually
   flowing into the following verse. */
.mpre-footnote-list {
  display:block;
  font-size:.86em;
  line-height:1.35;
  margin:.32rem 0 .42rem 2.35rem;
  opacity:.88;
}
.mpre-footnote-rule {
  display:block;
  letter-spacing:.04em;
  opacity:.7;
}
.mpre-footnote-line {
  display:block;
}
.verse > .mpre-footnote-list {
  clear:both;
}

/* FFT superscript footnote reference markers. */
.mpre-fnref {
  font-size: 0.68em;
  line-height: 0;
  vertical-align: super;
  margin-left: 0.04em;
  font-weight: 600;
  text-decoration: none;
  color: inherit;
  opacity: 0.88;
}
.mpre-fnref[role="doc-noteref"] {
  cursor: help;
}

/* FFT editorial section headings separated from verse numbering. */
.mpre-section-heading {
  display: block !important;
  width: 100%;
  clear: both;
  font-weight: 700;
  font-size: 0.96em;
  line-height: 1.35;
  margin: 1.15rem 0 0.35rem 0;
  letter-spacing: 0.01em;
}

.mpre-section-heading + .verse {
  margin-left: 0;
}

.mpre-lettered-psalm-heading {
  margin-top: 1.35rem;
  margin-bottom: 0.25rem;
}


/* CVT deployment additions */
.front-note ul{margin:.6rem 0 0;padding-left:1.2rem;color:var(--muted)}
.download-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}
.download-links a{display:inline-block;border:1px solid var(--rule);background:#fff;border-radius:999px;padding:.22rem .65rem;text-decoration:none;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700}
.site-footer{width:min(var(--max),100%);margin:0 auto 2rem;padding:0 clamp(1rem,3vw,2.25rem);color:var(--muted);font-size:.95rem}
.site-footer-inner{border:1px solid var(--rule);background:var(--soft2);border-radius:1rem;padding:1rem 1.2rem}
.verse-text:empty::after{content:' a0'}

/* Gate 6J mobile verse-number layout polish.
   Verse numerals are small, non-line-height-inflating superscriptions so
   mobile wrapping is not forced by the number itself. */
.book .verse > sup:first-child,
.book .verse > .verse-sup:first-child,
#reader .verse > sup:first-child,
#reader .verse > .verse-sup:first-child{
  font-size:0.54em;
  line-height:0;
  vertical-align:baseline;
  position:relative;
  top:-0.42em;
  font-weight:700;
  color:var(--accent);
  margin-right:0.09em;
  padding-right:0;
  white-space:nowrap;
  text-decoration:none;
}
@media (max-width:640px){
  .book .verse > sup:first-child,
  .book .verse > .verse-sup:first-child,
  #reader .verse > sup:first-child,
  #reader .verse > .verse-sup:first-child{
    font-size:0.46em;
    top:-0.34em;
    margin-right:0.055em;
  }
  .book .verse,
  #reader .verse{
    line-height:1.52;
  }
}
