/* Workbench reference explorer; inherits both current and renewal theme owners. */
.bb-reference-explorer,
.bb-wb-reference-views,
.bb-wb-reference-list {
    --bb-xg-accent: var(--bb-color-accent-primary, var(--bb-v4-wb-accent, #2563eb));
    --bb-xg-ink: var(--bb-color-text-primary, var(--text-color, #172d46));
    --bb-xg-muted: var(--bb-color-text-secondary, var(--bb-v4-wb-muted, #5b6e82));
    --bb-xg-rule: var(--bb-color-border-subtle, var(--bb-v4-wb-border, #dbe3ec));
    --bb-xg-paper: var(--bb-color-bg-panel, var(--bb-v4-wb-panel, #fff));
    color: var(--bb-xg-ink);
    min-width: 0;
}
.bb-reference-explorer [hidden] { display: none !important; }
.bb-wb-tool-control-stack--reference-explorer { display: none !important; }
.bb-wb-reference-views { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-block: .15rem; }
.bb-wb-reference-views[hidden] { display: none !important; }
body[data-bb-page='workbench'] .bb-wb-reference-views .bb-wb-reference-view {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .2rem;
    min-width: 0;
    min-height: 44px;
    padding: .75rem .85rem;
    border: 1px solid var(--bb-xg-rule);
    border-radius: 8px;
    background: var(--bb-xg-paper);
    color: var(--bb-xg-ink);
    box-shadow: none;
    transition: none;
    text-align: start;
    white-space: normal;
    cursor: pointer;
}
.bb-wb-reference-view__title { font-size: .95rem; font-weight: 700; line-height: 1.3; }
.bb-wb-reference-view__description { font-size: .8rem; line-height: 1.4; font-weight: 400; color: var(--bb-xg-muted); }
body[data-bb-page='workbench'] .bb-wb-reference-views .bb-wb-reference-view[aria-pressed='true'] {
    border-color: var(--bb-xg-accent);
    background: color-mix(in srgb, var(--bb-xg-accent) 8%, var(--bb-xg-paper));
    box-shadow: inset 0 -3px 0 var(--bb-xg-accent);
    color: var(--bb-xg-accent);
}
body[data-bb-page='workbench'] .bb-wb-reference-view:focus-visible { outline: 3px solid var(--bb-xg-accent); outline-offset: 3px; }
.bb-wb-reference-view:hover .bb-wb-reference-view__title { text-decoration: underline; text-underline-offset: .2em; }
@media (min-width: 1100px) {
    html[data-bb-interface='renewal'][data-bb-experience='v4'] body[data-bb-page='workbench'] .bb-wb-primary-stack:has(.bb-wb-reference-views:not([hidden])) {
        grid-template-areas: 'tools views' 'tools controls' 'tools results';
    }
    html[data-bb-interface='renewal'][data-bb-experience='v4'] body[data-bb-page='workbench'] .bb-wb-primary-stack:has(.bb-wb-tool-control-stack--reference-explorer) {
        grid-template-areas: 'tools views' 'tools results';
    }
    html[data-bb-interface='renewal'][data-bb-experience='v4'] body[data-bb-page='workbench'] .bb-wb-reference-views {
        grid-area: views;
    }
}
.bb-xg-heading { margin: 0 0 .75rem; }
.bb-xg-heading p { margin: 0; line-height: 1.45; }
.bb-xg-heading p, .bb-xg-source-control > span, .bb-xg-provenance, .bb-xg-connections > p { color: var(--bb-xg-muted); font-size: .85rem; }
.bb-xg-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .8rem; }
.bb-xg-controls label, .bb-xg-anchor label { display: flex; flex-direction: column; gap: .35rem; min-width: 0; color: var(--bb-xg-muted); font-size: .85rem; }
.bb-xg-mode-help { margin: .75rem 0; padding: .65rem .8rem; border-inline-start: 3px solid var(--bb-xg-accent); border-radius: 0 6px 6px 0; background: color-mix(in srgb, var(--bb-xg-accent) 6%, var(--bb-xg-paper)); font-size: .85rem; line-height: 1.55; color: var(--bb-xg-ink); }
.bb-reference-explorer select, .bb-reference-explorer input[type='text'] { font: inherit; color: var(--bb-xg-ink); background: var(--bb-xg-paper); border: 1px solid var(--bb-xg-rule); border-radius: 6px; padding: .55rem .65rem; min-height: 44px; min-width: 0; width: 100%; }
.bb-reference-explorer select:focus-visible, .bb-reference-explorer input:focus-visible, .bb-xg-connection:focus-visible { outline: 2px solid var(--bb-xg-accent); outline-offset: 3px; }
.bb-xg-anchor { display: flex; align-items: end; flex-wrap: wrap; gap: .7rem; margin-top: .8rem; }
.bb-xg-anchor label { flex: 1 1 16rem; }
.bb-xg-anchor p { width: 100%; }
.bb-xg-source-control { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; margin: .9rem 0; }
.bb-xg-source-control label { display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; font-size: .9rem; }
.bb-xg-source-control input { width: 19px; height: 19px; flex-shrink: 0; accent-color: var(--bb-xg-accent); }
.bb-xg-notice { margin: .7rem 0; padding: .6rem 0; }
.bb-xg-figure { margin: .7rem 0 1.2rem; }
.bb-xg-plot { position: relative; width: 100%; height: 330px; }
.bb-xg-plot canvas, .bb-xg-plot svg { display: block; width: 100%; height: 100%; }
.bb-xg-plot canvas { touch-action: pan-y; }
.bb-xg-plot svg { position: absolute; inset: 0; pointer-events: none; }
.bb-xg-plot svg text { font: 11px system-ui, sans-serif; }
.bb-xg-figure figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .35rem 1rem; color: var(--bb-xg-muted); font-size: .75rem; }
.bb-xg-selection { font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
.bb-xg-reading { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; align-items: start; }
.bb-xg-reading article { min-width: 0; padding: 1rem; background: var(--bb-xg-paper); border: 1px solid var(--bb-xg-rule); border-radius: 8px; }
.bb-xg-reading h3 { font-size: 1rem; margin: 0 0 .75rem; text-align: left; color: var(--bb-xg-ink); }
.bb-xg-scripture { font-family: Georgia, serif; font-size: 1.05rem; line-height: 1.8; overflow-wrap: anywhere; }
.bb-xg-scripture p { margin: 0 0 .6rem; }
.bb-xg-scripture sup { font: .7rem system-ui, sans-serif; color: var(--bb-xg-muted); }
.bb-xg-scripture .bb-wb-scripture__credit, .bb-xg-scripture .bb-wb-scripture__read { font: .8rem/1.6 system-ui, sans-serif; }
.bb-xg-actions, .bb-xg-pages { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: .8rem 0; }
.bb-xg-connections { margin-top: 1.5rem; }
.bb-xg-connections h3 { font-size: 1rem; margin: 0 0 .3rem; text-align: left; color: var(--bb-xg-ink); }
.bb-xg-connections ol { padding-left: 1.7rem; }
.bb-xg-connections li { padding: 0 0 .45rem .15rem; }
.bb-xg-connection { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .3rem .8rem; width: 100%; min-height: 44px; text-align: left; padding: .65rem .8rem; font: inherit; color: var(--bb-xg-ink); background: var(--bb-xg-paper); border: 1px solid var(--bb-xg-rule); border-radius: 6px; cursor: pointer; }
.bb-xg-connection small { font-size: .75rem; color: var(--bb-xg-muted); }
.bb-xg-connection[aria-pressed='true'] { border-color: var(--bb-xg-accent); box-shadow: inset 3px 0 var(--bb-xg-accent); }
.bb-xg-pages { justify-content: space-between; font-size: .8rem; }
.bb-xg-provenance { border-top: 1px solid var(--bb-xg-rule); margin-top: 1.4rem; padding-top: .9rem; }
.bb-xg-provenance summary { min-height: 44px; cursor: pointer; }

/* List shares its renderer with Passage; keep this hierarchy local to Workbench. */
.bb-wb-reference-list { padding: 0; }
.bb-wb-reference-list__heading { margin-bottom: .8rem; }
.bb-wb-reference-list__heading h2 { margin: 0 0 .3rem; font-size: 1.2rem; text-align: start; color: var(--bb-xg-ink); }
.bb-wb-reference-list__heading p { margin: 0; max-width: 72ch; font-size: .85rem; line-height: 1.55; color: var(--bb-xg-muted); }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-summary { border: 0; padding: .25rem 0 .6rem; background: transparent; gap: .25rem .7rem; }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-list { gap: .55rem; }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item { padding: .75rem .85rem; gap: .5rem .8rem; border: 1px solid var(--bb-xg-rule); border-radius: 8px; background: var(--bb-xg-paper); align-items: center; }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item:hover,
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item:focus-within { border-color: color-mix(in srgb, var(--bb-xg-accent) 45%, var(--bb-xg-rule)); background: color-mix(in srgb, var(--bb-xg-accent) 3%, var(--bb-xg-paper)); }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item .bb-xref-row-main { gap: .3rem .5rem; flex-wrap: wrap; overflow: visible; }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item a.ref-link { font-size: 1rem; font-weight: 650; white-space: normal; overflow-wrap: anywhere; }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item .bb-xref-row-actions { display: flex; flex-wrap: wrap; gap: .4rem; min-width: 0; max-width: 100%; }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item .bb-xref-row-actions .btn { min-height: 44px; height: auto; width: auto; min-width: 0; max-width: 100%; padding: .45rem .65rem; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.3 !important; font-size: .8rem !important; }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item .bb-wb-xref-compare { background: color-mix(in srgb, var(--bb-xg-accent) 9%, var(--bb-xg-paper)); border-color: color-mix(in srgb, var(--bb-xg-accent) 35%, var(--bb-xg-rule)); color: var(--bb-xg-accent); }
body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item .bb-send-to-study-btn { background: transparent; border-color: var(--bb-xg-rule); color: var(--bb-xg-muted) !important; }
@media (max-width: 900px) {
    body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item { grid-template-columns: minmax(0, 1fr); }
    body[data-bb-page='workbench'] .bb-wb-reference-list .bb-wb-xref-item .bb-xref-row-actions { grid-column: 1; justify-self: start; }
}
@media (max-width: 650px) {
    body[data-bb-page='workbench'] .bb-wb-reference-views .bb-wb-reference-view { padding: .65rem; }
    .bb-wb-reference-view__description { font-size: .75rem; }
    .bb-xg-controls { grid-template-columns: minmax(0, 1fr); }
    .bb-reference-explorer select, .bb-reference-explorer input[type='text'] { font-size: 16px; }
    .bb-xg-plot { height: 235px; }
    .bb-xg-reading { grid-template-columns: minmax(0, 1fr); }
    .bb-xg-reading article { padding: .8rem; }
    .bb-xg-actions .btn { flex: 1 1 10rem; }
}
