.reader-content { display:flex; flex:1; min-height:0; overflow:hidden; }
.reader-content > .reader-scroll { min-width:0; }
.reader.has-pdf { width:min(1280px,100vw); }
.has-pdf .reader-scroll { flex:1; }
.pdf-pane { display:flex; flex-direction:column; flex:1.35; min-width:0; border-right:1px solid var(--line); background:var(--surface); }
.pdf-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:10px 12px; border-bottom:1px solid var(--line); }
.pdf-toolbar input { width:54px; padding:5px; }
.pdf-toolbar select { padding:5px; }
.pdf-filename { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:10px 12px 0; font-size:13px; color:var(--ink-soft); }
.pdf-viewport { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; background:#d9dcdf; padding:14px; }
.pdf-page { position:relative; margin:auto; background:white; box-shadow:0 2px 10px #0002; }
.pdf-page canvas { display:block; }
.pdf-status { margin:0; padding:8px 12px; min-height:32px; font-size:12px; color:var(--ink-soft); }
.pdf-tabs { display:none; }
.pdf-pane:fullscreen { width:100vw; height:100vh; background:var(--surface); }
.pdf-expanded .reader-scroll { display:none; }
.pdf-notes-hint { font-size:13px; color:var(--ink-soft); margin-bottom:16px; }
.pdf-upload-dialog { max-width:480px; width:calc(100% - 32px); max-height:90vh; overflow:auto; padding:24px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--surface); box-shadow:var(--shadow-lift); }
.pdf-upload-dialog::backdrop { background:#10182080; }
.pdf-upload-dialog h2 { margin:0 0 20px; font-size:22px; }
.pdf-upload-dialog label { display:block; margin:16px 0 6px; font-size:14px; }
.pdf-upload-dialog input,.pdf-upload-dialog select { width:100%; box-sizing:border-box; padding:10px; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:6px; }
.pdf-upload-dialog progress { width:100%; margin-top:18px; accent-color:var(--accent); }
.pdf-upload-dialog p { font-size:13px; line-height:1.6; }
#pdfUploadError { color:#bd3d31; }
.pdf-upload-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:20px; }
@media(max-width:800px) {
  .has-pdf .pdf-tabs { display:flex; gap:8px; padding:8px 12px; border-bottom:1px solid var(--line); }
  .pdf-tabs [aria-selected="true"] { color:var(--accent); font-weight:700; background:var(--surface); }
  .has-pdf.pdf-reading .reader-scroll { display:none; }
  .has-pdf:not(.pdf-reading) .pdf-pane { display:none; }
  .pdf-pane { border:0; flex:1; }
  .pdf-viewport { padding:10px; }
}
