html { scroll-padding-top: 28px; }
.noscript { inset: 0; }

@media (min-width: 641px) {
  .sidebar { display: none; }
  .layout { max-width: none; padding: 0; grid-template-columns: minmax(0, 1fr); }
  .outline { display: none; }
}

@media (min-width: 1024px) {
  .layout { grid-template-columns: minmax(0, 1fr) 140px; gap: 32px; }
  .outline { display: block; position: static; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 60px; }
  .mobile-tools { top: 0; }
}
