/*
 * Copyright 2020 The Go Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file.
 */

@import './unit_header.css';
@import './unit_readme.css';
@import './unit_docs.css';
@import './unit_directories.css';

.UnitContent {
  max-width: 60rem;
}
