.flex {
  display: flex; }

.flex-auto {
  flex: 1 1 auto; }

.flex-even {
  flex: 1 1; }

.flex-wrap {
  flex-wrap: wrap; }

.justify-start {
  justify-content: flex-start; }

.justify-end {
  justify-content: flex-end; }

.justify-center {
  justify-content: center; }

.justify-between {
  justify-content: space-between; }

.align-center {
  align-items: center; }

.mx-auto {
  margin: 0 auto; }

.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-small {
  font-size: .875em; }

.hidden {
  display: none; }

input.toggle {
  height: 0;
  width: 0;
  overflow: hidden;
  opacity: 0;
  position: absolute; }

.clearfix::after {
  content: "";
  display: table;
  clear: both; }

.markdown {
  line-height: 1.6; }
  .markdown > :first-child {
    margin-top: 0; }
  .markdown h1,
  .markdown h2,
  .markdown h3,
  .markdown h4,
  .markdown h5,
  .markdown h6 {
    font-weight: normal;
    line-height: 1;
    margin-top: 1.5em;
    margin-bottom: 1rem; }
    .markdown h1 a.anchor,
    .markdown h2 a.anchor,
    .markdown h3 a.anchor,
    .markdown h4 a.anchor,
    .markdown h5 a.anchor,
    .markdown h6 a.anchor {
      opacity: 0;
      font-size: 0.75em;
      vertical-align: middle;
      text-decoration: none; }
    .markdown h1:hover a.anchor,
    .markdown h1 a.anchor:focus,
    .markdown h2:hover a.anchor,
    .markdown h2 a.anchor:focus,
    .markdown h3:hover a.anchor,
    .markdown h3 a.anchor:focus,
    .markdown h4:hover a.anchor,
    .markdown h4 a.anchor:focus,
    .markdown h5:hover a.anchor,
    .markdown h5 a.anchor:focus,
    .markdown h6:hover a.anchor,
    .markdown h6 a.anchor:focus {
      opacity: initial; }
  .markdown h4,
  .markdown h5,
  .markdown h6 {
    font-weight: bolder; }
  .markdown h5 {
    font-size: 0.875em; }
  .markdown h6 {
    font-size: 0.75em; }
  .markdown b,
  .markdown optgroup,
  .markdown strong {
    font-weight: bolder; }
  .markdown a {
    text-decoration: none; }
    .markdown a:hover {
      text-decoration: underline; }
    .markdown a:visited {
      color: var(--color-visited-link); }
  .markdown img {
    max-width: 100%;
    height: auto; }
  .markdown code {
    direction: ltr;
    unicode-bidi: embed;
    padding: 0 0.25rem;
    background: var(--gray-200);
    border-radius: 0.25rem;
    font-size: 0.875em; }
  .markdown pre {
    direction: ltr;
    unicode-bidi: embed;
    padding: 1rem;
    background: var(--gray-100);
    border-radius: 0.25rem;
    overflow-x: auto; }
    .markdown pre code {
      padding: 0;
      background: none; }
  .markdown p {
    word-wrap: break-word; }
  .markdown blockquote {
    margin: 1rem 0;
    padding: 0.5rem 1rem 0.5rem 0.75rem;
    border-inline-start: 0.25rem solid var(--gray-200);
    border-radius: 0.25rem; }
    .markdown blockquote :first-child {
      margin-top: 0; }
    .markdown blockquote :last-child {
      margin-bottom: 0; }
  .markdown table {
    overflow: auto;
    display: block;
    border-spacing: 0;
    border-collapse: collapse;
    margin-top: 1rem;
    margin-bottom: 1rem; }
    .markdown table tr th,
    .markdown table tr td {
      padding: 0.5rem 1rem;
      border: 1px solid var(--gray-200); }
    .markdown table tr:nth-child(2n) {
      background: var(--gray-100); }
  .markdown hr {
    height: 1px;
    border: none;
    background: var(--gray-200); }
  .markdown ul,
  .markdown ol {
    padding-inline-start: 2rem;
    word-wrap: break-word; }
  .markdown dl dt {
    font-weight: bolder;
    margin-top: 1rem; }
  .markdown dl dd {
    margin-inline-start: 0;
    margin-bottom: 1rem; }
  .markdown .highlight {
    direction: ltr;
    unicode-bidi: embed;
    border-radius: 0.25rem;
    overflow: hidden; }
    .markdown .highlight table tr td pre code > span {
      display: flex; }
    .markdown .highlight table tr td:nth-child(1) pre {
      margin: 0;
      padding-inline-end: 0; }
    .markdown .highlight table tr td:nth-child(2) pre {
      margin: 0;
      padding-inline-start: 0; }
  .markdown details {
    padding: 1rem;
    border: 1px solid var(--gray-200);
    border-radius: 0.25rem; }
    .markdown details summary {
      line-height: 1;
      padding: 1rem;
      margin: -1rem;
      cursor: pointer; }
    .markdown details[open] summary {
      margin-bottom: 0; }
  .markdown figure {
    margin: 1rem 0; }
    .markdown figure figcaption p {
      margin-top: 0; }

.markdown-inner > :first-child {
  margin-top: 1rem;
  margin-right: 1rem; }

.markdown-inner > :last-child {
  margin-bottom: 1rem;
  margin-right: 1rem; }

.markdown .book-expand {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--gray-200);
  border-radius: 0.25rem;
  overflow: hidden; }
  .markdown .book-expand .book-expand-head {
    background: var(--gray-100);
    padding: 0.5rem 1rem;
    cursor: pointer; }
  .markdown .book-expand .book-expand-content {
    display: none;
    padding: 1rem; }
  .markdown .book-expand input[type="checkbox"]:checked + .book-expand-content {
    display: block; }

.markdown .book-tabs {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--gray-200);
  border-radius: 0.25rem;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap; }
  .markdown .book-tabs label {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-bottom: 1px transparent;
    cursor: pointer; }
  .markdown .book-tabs .book-tabs-content {
    order: 999;
    width: 100%;
    border-top: 1px solid var(--gray-100);
    padding: 1rem;
    display: none; }
  .markdown .book-tabs input[type="radio"]:checked + label {
    border-bottom: 1px solid var(--color-link); }
  .markdown .book-tabs input[type="radio"]:checked + label + .book-tabs-content {
    display: block; }
  .markdown .book-tabs input[type="radio"]:focus + label {
    outline-style: auto;
    outline-color: currentColor;
    outline-color: -webkit-focus-ring-color; }

.markdown .book-columns {
  margin-left: -1rem;
  margin-right: -1rem; }
  .markdown .book-columns > div {
    margin: 1rem 0;
    min-width: 13.2rem;
    padding: 0 1rem; }

.markdown a.book-btn {
  display: inline-block;
  font-size: 0.875rem;
  color: var(--color-link);
  line-height: 2rem;
  padding: 0 1rem;
  border: 1px solid var(--color-link);
  border-radius: 0.25rem;
  cursor: pointer; }
  .markdown a.book-btn:hover {
    text-decoration: none; }

.markdown .book-hint.info {
  border-color: #6bf;
  background-color: rgba(102, 187, 255, 0.1); }

.markdown .book-hint.warning {
  border-color: #fd6;
  background-color: rgba(255, 221, 102, 0.1); }

.markdown .book-hint.danger {
  border-color: #f66;
  background-color: rgba(255, 102, 102, 0.1); }
