/* Base */
/* JetBrains Mono */
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap");
:root {
  --background: hsl(0 0% 100%);
  --foreground: hsl(222.2 47.4% 11.2%);
  --muted: hsl(210 40% 96.1%);
  --muted-foreground: hsl(215.4 16.3% 46.9%);
  --popover: hsl(0 0% 100%);
  --popover-foreground: hsl(222.2 47.4% 11.2%);
  --border: #0000001a;
  --input: hsl(214.3 31.8% 91.4%);
  --card: hsl(0 0% 100%);
  --card-foreground: hsl(222.2 47.4% 11.2%);
  --primary: hsl(222.2 47.4% 11.2%);
  --accent: hsl(210 40% 96.1%);
  --accent-foreground: hsl(222.2 47.4% 11.2%);
  --ring: hsl(215 20.2% 65.1%);
  --radius: hsl(0.5rem);
  --z-index-default: 1;
  --z-index-tooltip: 1000;
  --z-index-sticky: 2000;
  --z-index-modal: 3000;
  --z-index-dropdown: 4000;
  --z-index-hitbox: 5000;
  --z-index-topmost: 6000; }

/* Components */
.centered {
  text-align: center; }

.align-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center; }

.align-right {
  margin-left: auto;
  text-align: right; }

.admonition {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: 0.5rem;
  border: 1px solid var(--border);
  background-color: var(--background);
  padding: 1rem;
  font-size: 0.875rem;
  color: var(--foreground); }
  .admonition p:not(.admonition-title) {
    margin-top: 0.5rem; }
  .admonition .admonition-title {
    margin-top: 0 !important;
    font-weight: 500; }

.note {
  border-color: #0284c7;
  background-color: #eff6ff;
  color: #0c4a6e; }

.tip,
.hint {
  border-color: #16a34a;
  background-color: #f0fdf4;
  color: #15803d; }

.danger,
.error {
  border-color: #dc2626;
  background-color: #fef2f2;
  color: #991b1b; }

.attention,
.warning,
.caution,
.important {
  border-color: #ca8a04;
  background-color: #fef9c3;
  color: #78350f; }

.highlight {
  position: relative;
  background-color: transparent; }

.highlight:hover .copy {
  opacity: 1; }

.highlight .gp {
  user-select: none; }

.highlight-python .go,
.highlight-pycon .go {
  user-select: none; }

.literal-block-wrapper {
  margin-left: 0;
  margin-right: 0;
  margin-top: 1.5rem;
  max-width: none;
  border-radius: 0.5rem;
  border: 1px solid var(--border);
  padding-left: 0;
  padding-right: 0; }

.literal-block-wrapper pre {
  margin-top: 0;
  border-radius: 0;
  border: none; }

.literal-block-wrapper .code-block-caption {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  border-bottom: 1px solid var(--border);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: var(--muted-foreground); }

code {
  position: relative;
  white-space: nowrap;
  border-radius: 0.25rem;
  background-color: var(--muted);
  padding-left: 0.3em;
  padding-right: 0.3em;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
  font-family: "JetBrains Mono", monospace;
  font-optical-sizing: auto;
  font-size: 0.875rem; }

code em,
code .ge {
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--accent-foreground); }

:where(h1, h2, h3, h4, h5, h6) code {
  font-size: inherit; }

pre {
  margin-top: 1.5rem;
  overflow-x: auto;
  border-radius: 0.5rem;
  border: 1px solid var(--border);
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.875rem; }

pre.literal-block {
  position: relative;
  padding-left: 1rem;
  padding-right: 1rem; }

pre.literal-block:hover .copy {
  opacity: 1; }

pre code {
  white-space: pre;
  background-color: transparent;
  padding: 0; }

pre code > [id^="line-"] {
  display: block;
  padding-left: 1rem;
  padding-right: 1rem; }

pre code [id^="line-"]:has(mark),
pre code [id^="line-"]:has(ins),
pre code [id^="line-"]:has(del),
pre code [id^="line-"]:has(.gd),
pre code [id^="line-"]:has(.gi) {
  padding-left: 0;
  padding-right: 0; }

pre code [id^="line-"] mark,
pre code [id^="line-"] ins,
pre code [id^="line-"] del {
  position: relative;
  display: block;
  padding-left: 1rem;
  padding-right: 1rem; }

pre code [id^="line-"] mark {
  background-color: var(--muted);
  color: inherit;
  box-shadow: 2px 0 currentColor inset; }

pre code [id^="line-"] ins {
  background-color: rgba(34, 197, 94, 0.3);
  color: #166534;
  text-decoration: none; }

pre code [id^="line-"] ins::before {
  content: "\002b";
  position: absolute;
  left: 2px; }

pre code [id^="line-"] del {
  background-color: rgba(239, 68, 68, 0.3);
  color: #991b1b;
  text-decoration: none; }

pre code [id^="line-"] del::before {
  content: "\2212";
  position: absolute;
  left: 2px; }

pre span.linenos {
  user-select: none;
  background-color: transparent !important;
  padding-left: 0;
  padding-right: 1rem; }

.highlight-diff .gi {
  display: inline-block;
  width: 100%;
  background-color: rgba(34, 197, 94, 0.3);
  padding-left: 1rem;
  padding-right: 1rem;
  color: #166534; }

.highlight-diff .gd {
  display: inline-block;
  width: 100%;
  background-color: rgba(239, 68, 68, 0.3);
  padding-left: 1rem;
  padding-right: 1rem;
  color: #991b1b; }

.guilabel,
.menuselection {
  border-radius: 0.125rem;
  border: 1px solid var(--border);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-weight: 500;
  color: var(--accent-foreground); }

#content kbd:not(.compound) {
  border-radius: 0.25rem;
  border: 1px solid;
  background-color: var(--muted);
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em; }

.sig {
  scroll-margin-top: 5rem;
  border-top: 1px solid var(--border);
  padding-top: 1.5rem;
  font-family: "JetBrains Mono", monospace;
  font-optical-sizing: auto;
  font-weight: 700; }

.sig-name {
  color: var(--accent-foreground); }

em.property {
  color: var(--muted-foreground); }

.option .sig-prename {
  font-style: italic; }

.viewcode-link {
  float: right;
  color: var(--muted-foreground); }

.option-list kbd {
  border: none !important;
  background-color: transparent !important;
  font-size: 1em !important;
  font-weight: 700 !important; }

dt .classifier {
  font-style: italic; }

dt .classifier::before {
  margin-right: 0.5rem;
  content: ":"; }

h2 + .function .sig {
  border: none; }

.sig-param .n:first-child {
  font-style: normal; }

.calendar {
  width: 100%;
  height: 52rem; }

.footnote > .label {
  float: left;
  padding-right: 0.5rem; }

.footnote > :not(.label) {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  margin-left: 2rem; }

.footnote .footnote-reference, .footnote [role="doc-backlink"] {
  text-decoration: none !important; }

.headerlink {
  display: none; }

/*
 * Styles for Tooltips
 * adapted from: https://github.com/primer/css/blob/master/src/tooltips/tooltips.scss
 * Primer/CSS (MIT license)
 */
.tooltipped {
  position: relative; }

/* This is the tooltip bubble */
.tooltipped:after {
  z-index: 1000000;
  -webkit-font-smoothing: subpixel-antialiased;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: break-word;
  content: attr(data-tooltip);
  pointer-events: none;
  position: absolute;
  display: none;
  white-space: pre;
  border-radius: 0.125rem;
  background-color: rgba(var(--muted), 0.75);
  padding: 0.25rem;
  text-align: center;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--muted-foreground);
  text-decoration: none;
  opacity: 0; }

/* delay animation for tooltip */
@keyframes tooltip-appear {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/* This will indicate when we'll activate the tooltip */
.tooltipped:hover:before, .tooltipped:hover:after,
.tooltipped:focus:before,
.tooltipped:focus:after {
  display: inline-block;
  text-decoration: none;
  animation-name: tooltip-appear;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in;
  animation-delay: 0.2s; }

.tooltipped-no-delay:hover:before, .tooltipped-no-delay:hover:after,
.tooltipped-no-delay:focus:before,
.tooltipped-no-delay:focus:after {
  animation-delay: 0s; }

.tooltipped-multiline:hover:after,
.tooltipped-multiline:focus:after {
  display: table-cell; }

/* Tooltipped south */
.tooltipped-s:after,
.tooltipped-se:after,
.tooltipped-sw:after {
  top: 100%;
  right: 50%;
  margin-top: 6px; }

.tooltipped-s:before,
.tooltipped-se:before,
.tooltipped-sw:before {
  top: auto;
  right: 50%;
  bottom: -7px;
  margin-right: -6px;
  border-bottom-color: #1a202c; }

.tooltipped-se::after {
  right: auto;
  left: 50%;
  margin-left: -16px; }

.tooltipped-sw::after {
  margin-right: -16px; }

/* Tooltips above the object */
.tooltipped-n:after,
.tooltipped-ne:after,
.tooltipped-nw:after {
  right: 50%;
  bottom: 100%;
  margin-bottom: 6px; }

.tooltipped-n:before,
.tooltipped-ne:before,
.tooltipped-nw:before {
  top: -7px;
  right: 50%;
  bottom: auto;
  margin-right: -6px;
  border-top-color: #1a202c; }

.tooltipped-ne:after {
  right: auto;
  left: 50%;
  margin-left: -16px; }

.tooltipped-nw::after {
  margin-right: -16px; }

/* Move the tooltip body to the center of the object. */
.tooltipped-s:after,
.tooltipped-n:after {
  transform: translateX(50%); }

/* Tooltipped to the left */
.tooltipped-w:after {
  right: 100%;
  bottom: 50%;
  margin-right: 6px;
  transform: translateY(50%); }

.tooltipped-w:before {
  top: 50%;
  bottom: 50%;
  left: -7px;
  margin-top: -6px;
  border-left-color: #1a202c; }

/* tooltipped to the right */
.tooltipped-e:after {
  bottom: 50%;
  left: 100%;
  margin-left: 6px;
  transform: translateY(50%); }

.tooltipped-e:before {
  top: 50%;
  right: -7px;
  bottom: 50%;
  margin-top: -6px;
  border-right-color: #1a202c; }

.navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .navigation .navigation__prev,
  .navigation .navigation__next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s ease;
    border: 1px solid var(--input);
    padding: 0.5rem 1rem; }
    .navigation .navigation__prev:hover,
    .navigation .navigation__next:hover {
      background: var(--accent);
      color: var(--accent-foreground); }
    .navigation .navigation__prev:disabled,
    .navigation .navigation__next:disabled {
      opacity: 0.5;
      cursor: not-allowed;
      pointer-events: none; }
  .navigation .navigation__prev {
    margin-right: auto; }
  .navigation .navigation__next {
    margin-left: auto; }

.scrolltop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  padding: 0.5rem;
  z-index: var(--z-index-default);
  border-radius: 0.125rem;
  background: #374151;
  font-size: 0.75rem;
  color: white;
  transition: all 1s ease; }
  .scrolltop:hover, .scrolltop:focus {
    background: #111827; }
  @media (max-width: 768px) {
    .scrolltop {
      bottom: 1rem;
      right: 1rem; } }
  .scrolltop .scrolltop__icon {
    display: inline;
    fill: currentColor;
    margin-bottom: 2px; }

.search__container {
  width: 100%;
  min-width: 0;
  margin: 0 auto; }

.search__fallback {
  margin: 2rem 0;
  font-size: 0.875rem;
  color: #dc2626; }

.copy-button {
  z-index: 20;
  display: inline-flex;
  height: 1.5rem;
  width: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  border: 1px solid var(--border);
  background: var(--background);
  opacity: 0;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.2s ease;
  position: absolute;
  right: 0.5rem;
  top: 0.5rem; }
  .copy-button:focus {
    opacity: 1; }
  .copy-button:hover {
    background: var(--muted); }
  .copy-button .copy-icon,
  .copy-button .copy-success-icon {
    height: 14px;
    width: 14px;
    transition: all 0.2s ease;
    transform: translateZ(0);
    position: absolute; }
  .copy-button .copy-icon {
    transform: scale(1); }
  .copy-button .copy-success-icon {
    transform: scale(0); }
  .copy-button .copy-icon.scale-0 {
    transform: scale(0); }
  .copy-button .copy-success-icon.scale-100 {
    transform: scale(1); }

.slider {
  position: relative;
  border-radius: 2rem;
  background: rgba(64, 64, 64, 0.06);
  padding: 5rem 6.5rem 0;
  width: 100%; }
  .slider .slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem; }
  .slider .slider__caption {
    display: none; }

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: -3rem;
  height: 37rem; }
  .hero h1 {
    font-size: 4.75rem;
    line-height: 6.5rem;
    letter-spacing: -.01em;
    font-weight: 600;
    max-width: 56rem;
    margin-bottom: 1.25rem; }
    .hero h1 img {
      width: 9rem;
      margin-bottom: -1.75rem;
      margin-left: 0.25rem; }
  .hero p {
    font-size: 1.25rem;
    line-height: 2rem;
    letter-spacing: 0;
    font-weight: 300;
    color: #707070;
    margin-bottom: 2.75rem;
    max-width: 39rem; }
  .hero nav {
    display: flex;
    column-gap: 1.25rem; }
    .hero nav a {
      box-shadow: rgba(64, 64, 64, 0.24) 0px 0px 0px 1px inset;
      transition: background 0.15s cubic-bezier(0, 0, 0.2, 1);
      padding: 0.75rem 1rem;
      line-height: 1.25rem;
      border-radius: 2rem;
      position: relative;
      column-gap: 0.5rem;
      align-items: center;
      font-weight: 500;
      cursor: pointer;
      display: flex; }
      .hero nav a:hover {
        background: rgba(64, 64, 64, 0.06); }
      .hero nav a:first-child {
        background: #141414;
        padding: 0.75rem 1.25rem;
        box-shadow: none;
        font-weight: 400;
        color: #ffffff; }
      .hero nav a i {
        font-size: 1rem;
        background: rgba(64, 64, 64, 0.08);
        margin-right: -0.25rem;
        border-radius: 50%;
        padding: 0.25rem; }

/* Layout */
#header {
  width: 100%;
  position: sticky;
  z-index: var(--z-index-sticky);
  top: 0; }
  @media (max-width: 640px) {
    #header {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (max-width: 768px) {
    #header {
      padding: 0 1rem; } }
  #header .header__container {
    display: flex;
    align-items: center;
    max-width: 450px;
    background: rgba(237, 237, 237, 0.72);
    backdrop-filter: blur(24px);
    border-radius: 2rem;
    margin: 1.5rem auto;
    padding: 0.5rem 1.75rem; }
    #header .header__container .container__desktop-menu {
      width: 100%;
      display: none;
      justify-content: space-between; }
      @media (min-width: 768px) {
        #header .header__container .container__desktop-menu {
          display: flex; } }
      #header .header__container .container__desktop-menu .desktop-menu__logo {
        display: flex;
        align-items: center; }
      #header .header__container .container__desktop-menu .desktop-menu__navigation {
        margin-right: -1.188rem;
        align-items: center;
        position: relative;
        display: flex;
        gap: 0.5rem; }
        #header .header__container .container__desktop-menu .desktop-menu__navigation--show-hidden .navigation__link:nth-last-child(2) {
          margin-right: calc(8rem + 0.5rem) !important; }
        #header .header__container .container__desktop-menu .desktop-menu__navigation--show-hidden .navigation__link:last-child {
          transform: translateY(0) !important;
          pointer-events: auto !important;
          opacity: 1 !important; }
        #header .header__container .container__desktop-menu .desktop-menu__navigation .navigation__link {
          transition: margin 0.25s cubic-bezier(0, 0, 0.2, 1), transform 0.15s cubic-bezier(0, 0, 0.2, 1), opacity 0.15s cubic-bezier(0, 0, 0.2, 1);
          padding: 0.75rem 1rem;
          line-height: 1.25rem;
          border-radius: 2rem;
          position: relative;
          font-weight: 500;
          text-wrap: nowrap;
          cursor: pointer;
          display: flex; }
          #header .header__container .container__desktop-menu .desktop-menu__navigation .navigation__link:first-child {
            margin-right: -0.5rem; }
          #header .header__container .container__desktop-menu .desktop-menu__navigation .navigation__link:nth-last-child(2) {
            margin-right: 0; }
          #header .header__container .container__desktop-menu .desktop-menu__navigation .navigation__link:last-child {
            background: #141414;
            transform: translateY(0.5rem);
            pointer-events: none;
            position: absolute;
            font-weight: 400;
            color: #ffffff;
            width: 8rem;
            opacity: 0;
            right: 0; }
    @media (min-width: 768px) {
      #header .header__container .container__mobile-menu {
        display: none; } }
    #header .header__container .container__mobile-menu .mobile-menu__button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 2.5rem;
      padding: 0 0.5rem;
      margin-right: 0.5rem;
      font-size: 1rem;
      font-weight: 500;
      border-radius: 0.375rem;
      transition: all 0.2s ease; }
      #header .header__container .container__mobile-menu .mobile-menu__button:hover {
        color: var(--accent-foreground);
        background: transparent; }

#sidebar {
  position: fixed;
  inset: 0;
  left: 0;
  padding: 0;
  z-index: var(--z-index-sticky);
  background: var(--background);
  transition: all 0.1s ease;
  transform: translateX(-100%);
  margin-left: 0;
  width: 83.333333%; }
  @media (min-width: 768px) {
    #sidebar {
      top: 82px;
      z-index: 30;
      padding: 0;
      background: transparent;
      transform: translateX(0);
      margin-left: -0.5rem;
      height: calc(100vh - 3.5rem);
      width: 100%;
      overflow-y: auto;
      position: sticky; } }
  #sidebar--open {
    transform: translateX(0); }
  #sidebar .sidebar__content {
    position: relative;
    overflow: hidden;
    margin: 1rem 0; }
    @media (min-width: 768px) {
      #sidebar .sidebar__content {
        margin: 0;
        overflow: auto; } }
    #sidebar .sidebar__content .content__wrapper {
      position: relative; }
      #sidebar .sidebar__content .content__wrapper .sidebar__navigation {
        width: 100%; }
        #sidebar .sidebar__content .content__wrapper .sidebar__navigation ul {
          margin-left: 0;
          margin-top: 0;
          list-style-type: none;
          padding-left: 1.25rem; }
          #sidebar .sidebar__content .content__wrapper .sidebar__navigation ul > li, #sidebar .sidebar__content .content__wrapper .sidebar__navigation ul > p {
            margin-top: 0.5rem;
            font-weight: 300;
            font-size: 17px;
            color: #657380; }
            #sidebar .sidebar__content .content__wrapper .sidebar__navigation ul > li.current, #sidebar .sidebar__content .content__wrapper .sidebar__navigation ul > p.current {
              font-weight: 500;
              color: unset; }
              #sidebar .sidebar__content .content__wrapper .sidebar__navigation ul > li.current ul, #sidebar .sidebar__content .content__wrapper .sidebar__navigation ul > p.current ul {
                display: block; }
          #sidebar .sidebar__content .content__wrapper .sidebar__navigation ul ul {
            margin-top: 0;
            padding-left: 2rem;
            display: none; }
    #sidebar .sidebar__content .sidebar__close {
      position: absolute;
      right: 1rem;
      top: 1rem;
      border-radius: 0.125rem;
      opacity: 0.7;
      transition: opacity 0.2s ease; }
      @media (min-width: 768px) {
        #sidebar .sidebar__content .sidebar__close {
          display: none; } }
      #sidebar .sidebar__content .sidebar__close:hover {
        opacity: 1; }
      #sidebar .sidebar__content .sidebar__close svg {
        height: 1rem;
        width: 1rem; }
  #sidebar .sidebar__overlay {
    position: fixed;
    inset: 0;
    z-index: var(--z-index-modal);
    overflow: hidden;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(4px); }
    @media (min-width: 768px) {
      #sidebar .sidebar__overlay {
        display: none; } }
#footer {
  background: #141414; }
  #footer:before {
    content: "";
    width: 100%;
    height: 2rem;
    display: block;
    background: #ffffff;
    border-bottom-left-radius: 2rem;
    border-bottom-right-radius: 2rem; }
  #footer .footer__container {
    text-align: center;
    color: #adadad;
    font-weight: 350;
    padding: 2rem 0; }

*,
:after,
:before {
  box-sizing: border-box;
  border: 0 solid #ededed; }

@media (prefers-reduced-motion: no-preference) {
  :has(:target) {
    scroll-behavior: smooth; } }

html {
  -webkit-text-size-adjust: 100%;
  font-feature-settings: normal;
  -webkit-tap-highlight-color: transparent;
  font-family: ui-sans-serif, -apple-system, system-ui, Segoe UI, Helvetica, Apple Color Emoji, Arial, sans-serif, Segoe UI Emoji, Segoe UI Symbol;
  font-feature-settings: normal;
  font-variation-settings: normal;
  line-height: 1.5;
  tab-size: 4; }

body {
  display: flex;
  flex-direction: column;
  font-size: 16px;
  color: #141414;
  width: 100%;
  margin: 0; }
  body.body--sidebar-open {
    overflow: hidden; }
  body #skip {
    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--z-index-topmost);
    display: block;
    background: var(--background);
    padding: 1rem;
    font-size: 1.25rem;
    transition: all 0.2s ease;
    transform: translateX(-100%);
    opacity: 0; }
    body #skip:focus {
      transform: translateX(0);
      opacity: 1; }
  body #overlay {
    position: fixed;
    inset: 0;
    z-index: var(--z-index-modal);
    overflow: hidden;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(4px); }
    @media (min-width: 768px) {
      body #overlay {
        display: none; } }
  body #main {
    display: flex;
    position: relative;
    flex-direction: column; }
    @media (max-width: 768px) {
      body #main {
        padding: 0 1rem; } }
    body #main #content {
      display: grid;
      grid-template-columns: 240px minmax(0, 1fr);
      padding: 0 2rem;
      padding-top: 2rem;
      margin: 0 auto;
      gap: 1.5rem;
      width: 100%; }
      body #main #content[orphan] {
        display: unset;
        grid-template-columns: unset;
        padding-top: unset;
        gap: unset; }

h1, h2, h3, h4, h5, h6, blockquote,
dd, dl, figure, hr, p {
  margin: 0; }

pre {
  margin-top: 1.5rem; }

button, a {
  font-family: inherit !important;
  text-decoration: none;
  color: inherit;
  outline: none; }

svg {
  display: inline; }

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-color: var(--border); }

h1 {
  margin-bottom: 0.5rem;
  font-size: 2.25rem;
  font-weight: 700; }

h2 {
  margin-top: 3rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.5rem;
  font-size: 1.875rem;
  font-weight: 600; }

h3 {
  margin-top: 2rem;
  font-size: 1.5rem;
  font-weight: 600; }

h4,
.rubric {
  margin-top: 2rem;
  font-size: 1.25rem;
  font-weight: 600; }

section,
.section {
  scroll-margin-top: 5rem; }
  section > p,
  .section > p {
    margin-top: 1.5rem;
    line-height: 1.75; }
    section > p:first-child,
    .section > p:first-child {
      margin-top: 0; }
    section > p.lead,
    .section > p.lead {
      font-size: 1.125rem;
      color: var(--muted-foreground); }

ul {
  margin-left: 1.5rem;
  margin-top: 1.5rem;
  list-style-type: disc; }
  ul > li, ul > p {
    margin-top: 1.5rem; }
  ul ul {
    margin-top: 0; }

ol {
  margin-left: 1.5rem;
  margin-top: 1.5rem;
  list-style-type: decimal; }
  ol > li, ol > p {
    margin-top: 1.5rem; }
  ol ol {
    margin-top: 0; }

dl {
  margin-top: 1.5rem; }
  dl dt:not(.sig) {
    margin-top: 1.5rem;
    font-weight: 500; }
    dl dt:not(.sig):first-child {
      margin-top: 0;
      margin-bottom: 0; }
  dl dd {
    margin-left: 1.5rem; }
  dl p {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem; }

figure, img {
  display: block; }

figcaption {
  margin-bottom: 3rem;
  font-size: 0.875rem;
  color: var(--muted-foreground); }
  figcaption > * {
    margin-top: 1rem; }

blockquote {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border-left: 2px solid;
  padding-left: 1.5rem;
  font-style: italic; }
  blockquote .attribution {
    margin-top: 0.5rem;
    font-style: normal; }

table {
  border-collapse: collapse;
  border-color: inherit;
  font-size: .875rem;
  line-height: 1.25rem;
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
  text-indent: 0;
  width: 100%; }
  table caption {
    margin-bottom: 1.5rem;
    text-align: left;
    color: var(--muted-foreground); }
  table thead {
    border-bottom: 1px solid var(--border); }
  table th {
    padding-bottom: 0.5rem;
    text-align: left;
    font-weight: 500;
    padding-left: 0.5rem; }
    table th:first-child {
      padding-left: 0; }
  table tbody tr {
    border-bottom: 1px solid var(--border); }
  table tbody td {
    padding: 0.5rem;
    padding-left: 0.5rem; }
    table tbody td:first-child {
      padding-left: 0; }
