/* Compositor-friendly polish, scoped to the existing mobile Academy shell. */
.modal-content { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
#lessonBody { min-width: 0; }
#dashQuickBar button, .mobile-bottomnav .bn-item { touch-action: manipulation; }
.comm-grid > * { min-width: 0; }
.sidebar .nav-item, .mobile-bottomnav .bn-item { transition: background-color 160ms ease, color 160ms ease, transform 160ms ease; }
.sidebar .nav-item:active, .mobile-bottomnav .bn-item:active { transform: scale(.97); }
#lessonModal button, #intelTabContent button { min-height: 44px; }
/* React Native islands own their type styles; legacy paragraph margins must not leak. */
[data-testid="academy-stories-root"], [data-testid="academy-market-root"], [data-testid="academy-equity-root"] { min-width: 0; isolation: isolate; }
@media (max-width: 640px) {
  #lessonModal .modal-content { animation-duration: 190ms; }
  #lessonModal .modal-close { width: 44px; height: 44px; }
  [data-testid="story-composer"], [data-testid="story-viewer"] {
    padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sidebar .nav-item, .mobile-bottomnav .bn-item { transition: none; }
  .sidebar .nav-item:active, .mobile-bottomnav .bn-item:active { transform: none; }
}