/* Issue #2168. Bootstrap semantic tokens provide light/dark contrast pairs. */
.qm-block-surface {
    min-width: 0;
    border-radius: var(--bs-border-radius, .375rem);
    color: var(--bs-body-color);
}
.qm-block-body { font-size: 1rem; line-height: 1.7; color: inherit; }
.qm-block-article { background: var(--bs-body-bg); color: var(--bs-body-color); }
.qm-block-article .canvas-text-content { max-width: 75ch; }
.qm-block-banner {
    width: 100%;
    background: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
    font-size: 1.5rem;
    font-weight: 700;
}
.qm-block-banner .qm-block-body { font-size: inherit; line-height: 1.4; }
.qm-block-card { background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); }
.qm-block-plain { background: transparent; border: 0; box-shadow: none; }
.qm-block-callout {
    border-inline-start: .3rem solid var(--bs-info-text-emphasis);
    background: var(--bs-info-bg-subtle);
    color: var(--bs-info-text-emphasis);
}
.qm-block-callout.qm-block-tone-tip {
    border-color: var(--bs-success-text-emphasis);
    background: var(--bs-success-bg-subtle);
    color: var(--bs-success-text-emphasis);
}
.qm-block-callout.qm-block-tone-important {
    border-color: var(--bs-primary-text-emphasis);
    background: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
}
.qm-block-callout.qm-block-tone-warning {
    border-color: var(--bs-warning-text-emphasis);
    background: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
}
.qm-block-joined-start, .qm-block-joined-middle {
    margin-bottom: 0 !important;
    border-end-start-radius: 0;
    border-end-end-radius: 0;
    border-bottom-width: 0;
    box-shadow: none !important;
}
.qm-block-joined-middle, .qm-block-joined-end {
    border-start-start-radius: 0;
    border-start-end-radius: 0;
    border-top-width: 0;
    box-shadow: none !important;
}
.qm-block-surface.qm-text-media-editor-preview:not(.qm-block-note) {
    font-size: 1rem;
    padding: .75rem;
    color: var(--bs-body-color) !important;
}
@media (max-width: 575.98px) {
    .qm-block-banner { font-size: 1.25rem; }
}


/* Issue #2298: Reading progress indicator and continuous article view */
.qm-reading-progress-track {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 4px;
    background-color: var(--bs-border-color-subtle, rgba(0, 0, 0, 0.08));
    z-index: 1030;
    direction: ltr;
}
[dir="rtl"] .qm-reading-progress-track {
    direction: rtl;
}
.qm-reading-progress-fill {
    height: 100%;
    background-color: var(--bs-primary, #0d6efd);
    width: 0%;
    transition: width 0.1s ease-out;
}
[dir="rtl"] .qm-reading-progress-fill {
    float: right;
}
.qm-article-container {
    color: var(--bs-body-color);
}
.qm-article-lead {
    font-size: 1.25rem;
    line-height: 1.6;
}
.container.qm-article-measure {
    max-width: 860px;
}
