/* v40: interaction and accessibility additions. Preserve v39 branding/navigation. */
.ow-skip-link { position: fixed; top: 12px; left: 12px; transform: translateY(-180%); z-index: 10000; padding: 12px 20px; background: #10324d; color: white; border-radius: 8px; }
.ow-skip-link:focus { transform: none; }
:where(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid #168d9f; outline-offset: 4px; }
.ow-demo-note { display: flex; gap: 12px; align-items: baseline; padding: 12px 16px; margin: 0 0 26px; background: #f2f9f9; color: #526e7e; border-left: 3px solid #0097a7; font-size: 12px; line-height: 1.8; }
.ow-demo-note b { flex-shrink: 0; color: #007d8c; }
.ow-catalog-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
.ow-catalog-actions button { min-height: 38px; }
.ow-local-note [data-export-reading] { margin-left: auto; flex-shrink: 0; }
.library-source-figure img { content-visibility: auto; }
@media (max-width: 768px) {
  .library-results-meta { align-items: flex-start; gap: 12px; flex-direction: column; }
  .ow-catalog-actions { justify-content: flex-start; gap: 16px; }
  .ow-demo-note { display: block; margin-bottom: 18px; }
  .ow-demo-note b { display: block; }
  .ow-local-note { flex-wrap: wrap; }
  .ow-local-note [data-export-reading] { margin-left: 0; }
  .library-search input { min-width: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
  .sidebar, .topbar, .reading-actions, .reading-notes, .reading-related, .reading-next-question, .reading-copy-link, .ow-skip-link { display: none !important; }
  .main { margin: 0 !important; width: 100% !important; }
  .reading-layout { display: block; }
  .reading-source-figure { max-width: 420px; break-inside: avoid; }
  a { overflow-wrap: anywhere; }
}
