/* Journal UI refinements — 2026-10. Keep legacy page layout intact. */
:root { --journal-focus: #145e9a; --journal-border: #dce5ee; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(button, input, select, textarea, a):focus-visible { outline: 3px solid var(--journal-focus); outline-offset: 2px; }
:where(input, select, textarea).form-control:focus { border-color: #4488ba; box-shadow: 0 0 0 .2rem rgba(20,94,154,.13); }
:where(.card, .table-responsive, .modal-content) { border-radius: 12px; }
:where(.table-responsive) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
:where(img) { max-width: 100%; }
:where(.btn) { transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
:where(.btn):not(:disabled):active { transform: translateY(1px); }
@media (max-width: 767.98px) {
  :where(.table-responsive) { width: 100%; }
  :where(.modal-dialog) { margin: .75rem; }
  :where(.container, .container-fluid) { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
