.article-panel, .article-workspace {
    --article-paper: var(--tblr-bg-surface, #fff);
    --article-text: var(--tblr-body-color, #192c39);
    --article-muted: var(--tblr-secondary, #607180);
    color: var(--article-text);
    background: var(--article-paper);
    box-sizing: border-box;
}
.article-panel {
    width: calc(100vw - 2rem);
    max-width: none;
    height: calc(100dvh - 2rem);
    max-height: none;
    padding: 0;
    border: 1px solid #b7c7d2;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 50px #192c3955;
}
.article-panel::backdrop { background: #192c3988; }
.article-panel-close { position: absolute; top: 10px; right: 14px; z-index: 1; padding: 6px 10px; border: 1px solid #b7c7d2; border-radius: 6px; background: var(--article-paper); color: var(--article-text); cursor: pointer; }
.article-panel-content { height: 100%; overflow: auto; overscroll-behavior: contain; padding: 24px; }
.article-workspace { padding: clamp(12px, 2vw, 32px); }
.panel-article.panel-article > h1, .panel-article.panel-article > h2 { font: 700 clamp(2rem, 3vw, 3rem)/1.15 Georgia, serif; margin: 0 0 8px; padding-right: 75px; }
.panel-meta { color: var(--article-muted); margin: 0 0 16px; }
.panel-save, .panel-tools { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 0 0 16px; padding: 12px 0; border-block: 1px solid #b7c7d2; font: 14px/1.5 system-ui, sans-serif; }
.panel-save select, .panel-save input, .panel-article button { padding: 6px 10px; border: 1px solid #b7c7d2; border-radius: 6px; background: var(--article-paper); color: var(--article-text); }
.panel-status { color: var(--article-muted); }
.panel-grid.has-scan { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.panel-scan { margin: 0; min-width: 0; }
.panel-scan img { display: block; width: 100%; height: auto; max-height: none; border-radius: 4px; }
.panel-scan figcaption { font: 13px/1.5 system-ui, sans-serif; color: var(--article-muted); margin-top: 8px; }
.panel-body { min-width: 0; font: 24px/1.4 Georgia, serif; overflow-wrap: anywhere; }
.panel-body p { margin: 0 0 1em; }
.panel-foot { margin-top: 24px; }
.panel-experiments { margin: 20px 0; }
.panel-experiments summary { cursor: pointer; }
.panel-experiments textarea { display: block; width: 100%; min-height: 12rem; margin: 12px 0; padding: 12px; color: var(--article-text); background: var(--article-paper); }
@media (max-width: 800px) {
    .article-panel { width: 100vw; height: 100dvh; border-radius: 0; }
    .article-panel-content { padding: 16px; }
    .panel-grid.has-scan { grid-template-columns: 1fr; }
    .panel-grid .panel-body { grid-row: 1; }
}

.article-panel .panel-article .panel-save button[aria-pressed="true"], .article-workspace .panel-save button[aria-pressed="true"] { background: #206bc4; color: #fff; }

/* The display preference belongs to the search shell, so it survives replaced hits. */
.search-hit-scan { display: block; margin: 12px 0; }
.search-hit-scan img { display: block; width: 100%; max-height: 420px; object-fit: contain; object-position: top; }
.search-hit-scan-missing { display: none; }
[data-search-display="text"] .search-hit-scan { display: none; }
[data-search-display="image"] .search-hit:not(.scan-unavailable) .search-hit-text,
[data-search-display="image"] .search-hit:not(.scan-unavailable) .search-hit-subhead { display: none; }
.scan-unavailable .search-hit-scan { display: none; }
[data-search-display="image"] .scan-unavailable .search-hit-scan-missing,
[data-search-display="both"] .scan-unavailable .search-hit-scan-missing { display: block; }

.panel-body .source-headline { font-size:clamp(2rem, 4vw, 3.8rem); font-weight:700; line-height:1.08; margin-bottom:.5em; }
.panel-body .source-subhead { font-size:1.35em; font-weight:600; line-height:1.2; margin-bottom:.7em; }
