/* Optional prose help only; Passage tool content stays in the unified overlay. */
.bb-passage-guide {
    box-sizing: border-box;
    width: min(42rem, calc(100% - 2rem));
    max-height: calc(100dvh - 2rem);
    padding: 0;
    margin: auto;
    border: 1px solid var(--bbp-border-subtle, #cbd5e1);
    border-radius: 1rem;
    background: var(--bbp-panel-bg, #fff);
    color: var(--bbp-text-primary, #172033);
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-padding: 1rem;
    -webkit-overflow-scrolling: touch;
    line-height: 1.6;
}
.bb-passage-guide::backdrop { background: rgb(0 0 0 / 45%); }
.bb-passage-guide__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 1.25rem;
    border-bottom: 1px solid var(--bbp-border-subtle, #cbd5e1);
}
.bb-passage-guide__head h2 { margin: 0; font-size: 1.3rem; }
.bb-passage-guide__body { padding: 0 1.25rem 1.25rem; }
.bb-passage-guide ol { padding-inline-start: 1.5rem; }
.bb-passage-guide li { margin-block: 1.25rem; }
.bb-passage-guide h3 { font-size: 1.05rem; margin-block: 1rem .35rem; }
.bb-passage-guide p { margin-block: .65rem; }
.bb-passage-guide .btn { min-height: 44px; white-space: normal; }
.bb-passage-guide__head .btn { flex: 0 0 auto; }
.bb-passage-guide kbd {
    padding: .1rem .35rem;
    border: 1px solid var(--bbp-border-subtle, #cbd5e1);
    border-radius: .25rem;
    background: var(--bbp-surface-muted, #f1f5f9);
    font: .9em ui-monospace, SFMono-Regular, Menlo, monospace;
}
.bb-passage-guide a { color: var(--bbp-accent, #245bb2); text-decoration: underline; }
.bb-passage-guide :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
button[data-bb-passage-guide-open] { font: inherit; text-align: start; cursor: pointer; }
@media (max-width: 30rem) {
    .bb-passage-guide {
        width: calc(100% - 1rem);
        max-height: calc(100dvh - 1rem);
        border-radius: .75rem;
    }
    .bb-passage-guide__head,
    .bb-passage-guide__body { padding-inline: 1rem; }
}
