/* Structural baseline: PdfReaderView + DocumentToolbarRow + DocumentMapPanel.
 * The optional context sidebar is a proposal; the default uses a References sheet. */
.reader-window { --cols: 260px minmax(0, 1fr) 290px; }
.reader-window .reader-stage { border-radius: var(--radius-card); }
/* The map rail is the row's trailing inset (DocumentToolbarRow.trailingInset). */
.reader-window .board-chrome { right: 30px; }
.reader-search-overlay { position: absolute; z-index: 16; top: var(--reader-top, 70px); right: 30px; width: min(340px, calc(100% - 50px)); padding: 10px; background: var(--card); border: 1px solid var(--card-brd); border-radius: 10px; box-shadow: var(--shadow-card); }
.reader-search-overlay > div:first-child { display: flex; gap: 6px; }
.reader-search-overlay input { min-width: 0; flex: 1; padding: 8px; border: 1px solid var(--card-brd); border-radius: 6px; color: var(--ink); background: var(--tan); }
.reader-search-overlay button { border: 0; border-radius: 6px; color: var(--ink); background: var(--tan); cursor: pointer; }
.reader-search-results { font: 12px/1.5 var(--sans); color: var(--muted); }
.reader-window button:disabled { opacity: .4; cursor: default; }
.standalone-scroll { position: absolute; inset: 0 20px 0 0; overflow: auto; scrollbar-width: none; background: var(--board-page); }
.standalone-scroll::-webkit-scrollbar { display: none; }
.standalone-pages { padding-top: var(--reader-top, 70px); }
.standalone-page { width: 100%; position: relative; background: var(--board-page); }
.standalone-page + .standalone-page { border-top: 1px solid var(--card-brd); }
.standalone-page img { display: block; width: 100%; filter: var(--board-page-filter, none); mix-blend-mode: var(--board-page-blend, multiply); }
.standalone-page .source-highlight { position: absolute; }
.document-map-rail { position: absolute; right: 0; top: 0; bottom: 0; width: 18px; padding: 0; border: 0; background: var(--tan); cursor: pointer; z-index: 14; }
.document-map-rail::before { content: ''; position: absolute; width: 2px; top: 12px; bottom: 12px; left: 8px; background: var(--card-brd); }
.map-thumb { position: absolute; left: 5px; right: 5px; top: 12px; height: 15%; background: var(--muted); border-radius: 5px; opacity: .55; }
.map-mark { position: absolute; top: 20%; left: 1px; width: 4px; height: 4px; border-radius: 50%; background: var(--board-highlight-fill); }
.document-map { position: absolute; z-index: 15; right: 19px; inset-block: 0; width: min(344px, calc(100% - 30px)); box-sizing: border-box; padding: 14px; background: var(--card); border-left: 1px solid var(--card-brd); box-shadow: var(--shadow-card); overflow: auto; }
.document-map[hidden] { display: none; }
.document-map header, .reader-dialog header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.document-map h2, .reader-dialog h2 { margin: 0; font: 600 20px var(--display); flex: 1; }
.document-map header button, .reader-dialog header button { background: var(--tan); color: var(--ink); border: 0; border-radius: 8px; width: 32px; height: 32px; font-size: 22px; cursor: pointer; }
.map-tabs { display: flex; gap: 3px; padding: 3px; border-radius: 8px; background: var(--tan); }
.map-tabs button { flex: 1; border: 0; border-radius: 6px; background: transparent; padding: 8px 4px; color: var(--muted); cursor: pointer; font: 12px var(--sans); }
.map-tabs button[aria-selected="true"] { color: var(--ink); background: var(--card); box-shadow: var(--shadow-card); }
.map-content { padding-block: 12px; }
.map-content > p { color: var(--muted); font: 13px/1.5 var(--sans); }
.map-page { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 10px; width: 100%; background: transparent; border: 0; color: var(--ink); cursor: pointer; }
.map-page img { width: 110px; border: 1px solid var(--card-brd); }
.reader-stage.map-open .board-chrome { right: 374px; }
.reader-dialog { box-sizing: border-box; width: min(520px, calc(100vw - 28px)); max-height: 80vh; overflow: auto; padding: 22px; border: 1px solid var(--card-brd); border-radius: 16px; background: var(--card); color: var(--ink); box-shadow: var(--shadow-win); }
.reader-dialog::backdrop { background: color-mix(in srgb, var(--ink) 22%, transparent); }
.reader-dialog .references-count { color: var(--muted); font: 13px var(--mono, monospace); }
.reader-action-content { font: 14px/1.6 var(--sans); }
.reader-action-content a { color: var(--link); }
.reader-action-content input, .reader-action-content select { box-sizing: border-box; width: 100%; padding: 10px; font: inherit; color: var(--ink); background: var(--tan); border: 1px solid var(--card-brd); border-radius: 8px; }
.reader-window[data-toolbar="vertical"] .standalone-scroll { right: 85px; }
.reader-window[data-toolbar="vertical"] .standalone-pages { padding-top: 0; }
.reader-window .board-inspector[hidden] { display: none; }
@media (max-width: 1080px) {
  .reader-window, .reader-window.inspector-closed { --cols: 230px minmax(0, 1fr); }
  .reader-window.sidebar-hidden, .reader-window.sidebar-hidden.inspector-closed { --cols: 0 minmax(0, 1fr); }
  .reader-fixture-note { display: none; }
  .reader-window:not(.sidebar-hidden) .board-sidebar { position: static; width: auto; }
}
@media (max-width: 650px) {
  .reader-window, .reader-window.inspector-closed { --cols: 0 minmax(0, 1fr); }
  .reader-window:not(.sidebar-hidden) .board-sidebar { position: absolute; z-index: 25; inset: 0 auto 0 0; width: min(270px, calc(100vw - 56px)); }
  .reader-window .board-leading { gap: 3px; }
  .reader-stage.map-open .board-chrome { visibility: hidden; }
}
