/* The verse desk extends the Scripture reading surface. */
.vr-desk{margin:20px 0 40px;min-width:0;font-family:var(--body);color:var(--fg)}
.vr-desk [hidden]{display:none!important}.vr-desk button,.vr-desk select,.vr-desk input,.vr-desk textarea{font:inherit;color:inherit}.vr-desk button,.vr-desk a,.vr-desk summary{touch-action:manipulation}
.vr-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.vr-heading h2{font:500 30px/1.2 var(--display);margin:0}.vr-heading label{display:flex;align-items:center;gap:12px;font-size:14px}
.vr-desk select,.vr-desk input[type=search],.vr-desk textarea{min-height:44px;background:var(--card);border:1px solid var(--control-border,var(--border));border-radius:5px;padding:10px 12px;font-size:16px;box-sizing:border-box;max-width:100%}.vr-desk input::placeholder{color:var(--muted);opacity:1}.vr-desk textarea{width:100%;line-height:1.6;resize:vertical}
.vr-verse{max-width:75ch;margin:24px 0}.vr-verse p{font-size:18px;line-height:1.8;margin:8px 0}.vr-verse .vr-reference{font-size:14px;color:var(--muted)}
.vr-toolbar{display:flex;gap:24px;border-bottom:1px solid var(--border);margin:20px 0;overflow:auto}.vr-toolbar button{min-height:48px;white-space:nowrap;border:0;border-bottom:2px solid transparent;background:none;padding:10px 0;font-size:15px;color:var(--muted);cursor:pointer}.vr-toolbar [aria-pressed=true]{color:var(--fg);border-bottom-color:var(--fg)}.vr-toolbar span{font-variant-numeric:tabular-nums;font-size:13px;margin-left:6px}
.vr-filter-area{display:flex;gap:16px 24px;flex-wrap:wrap;align-items:start;margin:20px 0}.vr-query{flex:1 1 280px;display:grid;gap:8px;font-size:13px}.vr-filters{flex:2 1 380px;border-block:1px solid var(--border)}.vr-filters>summary{min-height:44px;align-content:center;cursor:pointer;font-size:14px}.vr-filters>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:12px 0 20px}.vr-filters label{display:grid;gap:8px;font-size:13px;min-width:0}.vr-filters select{width:100%}
.vr-selection{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;margin:16px 0}.vr-selection>p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.vr-actions{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap}.vr-actions a,.vr-actions button,.vr-author-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px;background:none;color:var(--fg);border:0;padding:4px 0;cursor:pointer}.vr-desk button:disabled{opacity:.5;cursor:default;text-decoration:none}.vr-desk .vr-button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--control-border,var(--border));border-radius:5px;background:var(--card);font-size:14px;cursor:pointer}.vr-button:hover{background:var(--hl)}.vr-more{margin-top:20px}
.vr-group,.vr-companion{border-top:1px solid var(--border);scroll-margin-top:100px}.vr-group>summary,.vr-companion>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:16px 0;list-style:none;cursor:pointer}.vr-group>summary::-webkit-details-marker,.vr-companion>summary::-webkit-details-marker{display:none}.vr-group>summary::after,.vr-companion>summary::after{content:'';width:7px;height:7px;flex:none;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);transform:rotate(-45deg);margin-right:4px}.vr-group[open]>summary::after,.vr-companion[open]>summary::after{transform:rotate(45deg)}.vr-group>summary>span:first-child,.vr-companion>summary>strong{flex:1;min-width:0}.vr-group strong,.vr-companion strong{font:500 25px/1.3 var(--display);overflow-wrap:anywhere}.vr-group small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px}.vr-group>summary>span:nth-child(2),.vr-companion>summary>span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.vr-group-body,.vr-companion>div{padding:0 20px 24px;background:var(--card);border-top:1px solid var(--border)}
.vr-record{padding:20px 0;border-bottom:1px solid var(--border);min-width:0}.vr-record:last-child{border-bottom:0}.vr-choose{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;cursor:pointer}.vr-choose input{width:18px;height:18px;accent-color:var(--fg)}.vr-source-title{font-size:17px;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}.vr-meta,.vr-summary-label{font-size:13px;line-height:1.65;color:var(--muted);max-width:75ch;margin:8px 0}.vr-summary-label{margin-top:16px;font-size:12px}.vr-summary{font-size:16px;line-height:1.8;margin:8px 0 12px;max-width:75ch;overflow-wrap:anywhere}.vr-preview{width:100%;margin:16px 0}.vr-preview iframe{display:block;width:100%;height:min(64vh,600px);border:1px solid var(--border);border-radius:5px;background:var(--card)}
.vr-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:28px;align-items:start;margin:24px 0}.vr-compare-source{min-width:0;border-top:1px solid var(--border);padding-top:20px}.vr-compare-source h3{font:500 25px/1.3 var(--display);margin:0 0 14px;overflow-wrap:anywhere}.vr-compare-source>.vr-source-title{font-size:15px}.vr-compare-source>.vr-actions{gap:4px 16px}.vr-compare-source>button,.vr-analysis button,.vr-companion button{min-height:44px;background:none;border:0;color:var(--fg);text-decoration:underline;text-underline-offset:4px;font-size:13px;cursor:pointer;padding:8px 0}.vr-analysis{margin:20px 0;border-top:1px solid var(--border)}.vr-analysis summary,.vr-coverage summary{min-height:44px;align-content:center;font-size:14px;line-height:1.5;cursor:pointer}.vr-analysis article{padding:16px 0;border-bottom:1px solid var(--border)}.vr-analysis article p,.vr-analysis details p{font-size:15px;line-height:1.75;margin:0 0 8px;overflow-wrap:anywhere}.vr-analysis small{font-size:12px;line-height:1.65;color:var(--muted)}.vr-analysis h4{font:600 15px var(--body);margin:24px 0 12px}.vr-scripture-refs{padding-left:20px;font-size:14px;line-height:1.8}.vr-scripture-refs a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:3px}.vr-scripture-refs span{font-size:12px;color:var(--muted)}
.vr-draft{border-top:1px solid var(--border);padding-top:20px}.vr-draft label{display:grid;gap:8px;margin:20px 0;font-size:14px}.vr-coverage{border-block:1px solid var(--border);margin:32px 0 24px}.vr-coverage p{max-width:75ch;font-size:14px;line-height:1.75;color:var(--muted);margin:8px 0 16px}.vr-related h3{font:500 25px var(--display);margin:0 0 12px}.vr-empty{padding:24px 0}.vr-empty h3{font:500 25px var(--display);margin:0 0 12px}.vr-empty p{font-size:15px;line-height:1.7;color:var(--muted);max-width:65ch}
.vr-desk :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--fg);outline-offset:3px}.vr-desk ::selection{background:var(--fg);color:var(--bg)}.vr-desk{caret-color:var(--fg);scrollbar-color:var(--muted) var(--bg)}
.verse-desk-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:none;border:0;font:13px var(--body);text-decoration:underline;text-underline-offset:4px;color:var(--fg);cursor:pointer}
@media(max-width:640px){.vr-desk{margin-top:16px}.vr-heading{align-items:start;gap:16px}.vr-heading h2{font-size:27px}.vr-heading label{flex-direction:column;align-items:start;gap:4px;font-size:12px}.vr-heading select{padding:8px}.vr-verse{margin:20px 0}.vr-verse p{font-size:17px}.vr-toolbar{gap:20px;margin:16px 0}.vr-toolbar button{font-size:13px}.vr-filter-area{gap:12px;margin:16px 0}.vr-query,.vr-filters{flex-basis:100%}.vr-filters>div{gap:12px}.vr-selection{gap:8px}.vr-actions{gap:4px 18px}.vr-actions a,.vr-actions button{font-size:12px}.vr-group>summary,.vr-companion>summary{gap:12px;min-height:72px}.vr-group strong,.vr-companion strong{font-size:23px}.vr-group>summary>span:nth-child(2),.vr-companion>summary>span{font-size:11px}.vr-group-body,.vr-companion>div{padding:0 12px 20px}.vr-comparison{display:block;margin:20px 0}.vr-compare-source{margin-bottom:32px}.vr-source-title{font-size:16px}.vr-preview iframe{height:60vh}.vr-meta{font-size:12px}.vr-desk .vr-button{font-size:13px}.vr-coverage{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.vr-desk *{scroll-behavior:auto!important}}

.vr-doctrine{margin:12px 0;border-top:1px solid var(--border)}.vr-doctrine>summary{min-height:44px;align-content:center;font-size:13px;cursor:pointer}.vr-doctrine p,.vr-analysis .vr-doctrine-tags{font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0}.vr-doctrine a,.vr-doctrine-tags a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}.vr-doctrine-tags>span{color:var(--muted)}

.vr-inherited{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border);margin:12px 0}.vr-inherited p{font-size:13px;line-height:1.65;color:var(--muted);margin:0;max-width:70ch}.vr-inherited strong{color:var(--fg);font-weight:600}.vr-inherited button{min-height:44px;padding:4px 0;border:0;background:none;font:13px var(--body);color:var(--fg);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

.vr-heading .vr-nav-link{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;padding:4px 0;border:0;background:none;color:var(--fg);font:13px var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

.vr-companion-controls{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin:16px 0}.vr-companion-controls label{display:flex;align-items:center;gap:12px;font-size:13px}.vr-companion-coverage{margin:8px 0 16px;border-bottom:1px solid var(--border)}.vr-companion-coverage>summary{min-height:44px;align-content:center;font-size:13px;cursor:pointer}.vr-companion-coverage>p{margin:4px 0 16px}@media(max-width:640px){.vr-companion-controls{display:block}.vr-companion-controls label{display:grid;gap:8px}.vr-companion-controls select{width:100%}}

/* organized (2026-09-10): bounded panes, author → work folds, save buttons */
.vr-pane{max-height:min(62vh,760px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:6px;padding:0 14px}

/* ── The verse desk is a desk, not a page ──────────────────────────
   Ian: "The inline scrolling box is a mess. It needs to work more like
   a desk, similar to Ask and Connections." Then, of the first attempt:
   "Verse desk has not, in fact, been updated."

   He was right. The first pass only removed the inner scroller, which
   left the desk as five thousand pixels of page. Ask and Connections
   are WORKSPACES: they take the screen, hold their controls still, and
   scroll only their results. That is what this does now.

   Measured on Genesis 1:1 before rebuilding: the desk ran 5,490px tall
   inside a 6,727px page, its results block alone 4,802px, so the verse
   being studied and the mode switcher were a thousand pixels above
   whatever the reader was looking at.

   STICKY, NOT FIXED. Fixed would cover the four pane tabs above it, and
   Reading desk is one of them: the reader has to be able to get back to
   Read chapter. Sticky pins the desk under the chrome once the tabs
   scroll past and leaves them reachable.

   The results block is the only scroller. It is unnamed in his markup,
   so it is selected by what it contains rather than by a class of its
   own, which also means a rename upstream cannot silently unstyle it. */
.bible-pane[data-pane="desk"] .vr-desk {
  position: sticky;
  top: calc(var(--mo-head, 61px) + 8px);
  height: calc(100dvh - var(--mo-head, 61px) - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: 8px 0 24px;
  padding-right: 4px;
}

/* THE DESK ITSELF IS THE SCROLLER, and the two controls worth keeping
   in front of you stick to its top. Making the results block the
   scroller instead, which is what I tried first, left it 137px tall:
   the heading, the verse, the actions, the filters, the selection, the
   coverage line and the related list are all siblings, and each one
   kept its own height out of a single viewport. Scrolling the whole
   column and pinning two things gives the sources the rest of it. */
.bible-pane[data-pane="desk"] .vr-desk > .vr-heading,
.bible-pane[data-pane="desk"] .vr-desk > .vr-toolbar {
  position: sticky;
  z-index: 3;
  background: var(--bg);
}
.bible-pane[data-pane="desk"] .vr-desk > .vr-heading { top: 0; padding: 8px 0 4px; }
.bible-pane[data-pane="desk"] .vr-desk > .vr-toolbar { top: 96px; margin-top: 0; }

/* AND THE PANE GIVES UP ITS OWN SCROLLER. This is the rule I dropped
   when I rewrote the block above, which is why the desk looked
   unchanged after two deploys: .vr-pane still carried
   max-height:min(62vh,760px) and overflow:auto from line 28, so the
   sources were back inside a 62vh box nested in the scrolling desk.
   Two scrollers again, which was the original complaint.

   Stated here rather than by editing line 28, because the pane is used
   outside the desk too and only the desk owns the scrolling. */
.bible-pane[data-pane="desk"] .vr-pane {
  max-height: none;
  overflow: visible;
  overscroll-behavior: auto;
  border: 0;
  border-radius: 0;
  padding: 0;
}

@media (max-width: 640px) {
  .bible-pane[data-pane="desk"] .vr-desk {
    position: static;
    height: auto;
    display: block;
  }
  .bible-pane[data-pane="desk"] .vr-desk > div:has(.vr-pane) {
    overflow: visible;
  }
}
.vr-work{border-top:1px dotted var(--border);margin:0 0 0 4px}.vr-work:first-child{border-top:0}.vr-work>summary{display:flex;align-items:baseline;gap:10px;min-height:40px;padding:6px 0;cursor:pointer;font-size:14px;list-style:none}.vr-work>summary::-webkit-details-marker{display:none}.vr-work>summary::before{content:'+';width:12px;flex:none;color:var(--muted);font-family:var(--sans,system-ui)}.vr-work[open]>summary::before{content:'−'}.vr-work>summary>span{flex:1;min-width:0}.vr-work>summary small{color:var(--muted);font-variant-numeric:tabular-nums}
.vr-work-head{display:flex;align-items:baseline;gap:10px;padding:8px 0 0;font-size:14px}.vr-work-head>span{flex:1;min-width:0;color:var(--muted)}
.vr-desk .pinb{font:500 12.5px/1.2 var(--sans,system-ui);color:var(--muted);border:1px solid var(--border);border-radius:3px;background:transparent;padding:4px 8px;cursor:pointer;white-space:nowrap;min-height:0}.vr-desk .pinb:hover{color:var(--fg);border-color:var(--fg)}.vr-desk .pinb.on{color:var(--bg);background:var(--fg);border-color:var(--fg)}.vr-desk .pinb:disabled{opacity:.6;cursor:wait}.vr-desk .pinb-work{margin-left:auto}
.vr-compare-source .vr-actions{margin:8px 0}
.vr-work>summary strong{font:500 15px/1.35 var(--body)}.vr-work .vr-source-title{display:none}.vr-work .vr-record{padding:14px 0}
