.tutorial-intro {
  position: relative;
  isolation: isolate;
}
.tutorial-intro::before {
  content: "";
  position: absolute;
  inset: 16px var(--gutter);
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(to right, var(--c-grid) 1px, var(--c-clear) 1px), linear-gradient(to bottom, var(--c-grid) 1px, var(--c-clear) 1px);
  background-size: 96px 96px;
  mask-image: linear-gradient(to right, var(--c-clear), var(--m-on), var(--c-clear));
  -webkit-mask-image: linear-gradient(to right, var(--c-clear), var(--m-on), var(--c-clear));
}
.tutorial-intro__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}
.tutorial-intro__layout > * {
  min-width: 0;
}
.tutorial-intro__lead {
  max-width: 40em;
  font-size: var(--fs-lead);
  color: var(--c-text);
}
.tutorial-check h2 {
  font-size: var(--fs-h3);
}
.tutorial-check__list {
  display: grid;
  gap: 18px;
}
.tutorial-check__list li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
}
.tutorial-check__list li > span {
  color: var(--c-accent);
  font-family: var(--f-mono);
  font-weight: var(--fw-bold);
}
.tutorial-check > .muted {
  padding-top: 20px;
  border-top: 1px solid var(--c-border);
  font-size: var(--fs-small);
}
.tutorial-platform {
  margin-top: 40px;
}
.tutorial-steps .toc {
  margin-bottom: 48px;
}
.tutorial-step {
  scroll-margin-top: 112px;
}
.tutorial-step + .tutorial-step {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--c-ink-a14);
}
.tutorial-step__label {
  color: var(--c-ink-muted);
  font-family: var(--f-mono);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  letter-spacing: .04em;
}
.tutorial-step h2 {
  margin-top: 12px;
}
.tutorial-step > p:not(.tutorial-step__label) {
  margin-top: 20px;
}
.tutorial-step h3 + p {
  margin-top: 16px;
}
@media (max-width: 860px) {
  .tutorial-intro__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}
@media (max-width: 640px) {
  .tutorial-intro__lead {
    font-size: var(--fs-body);
  }
  .tutorial-steps {
    padding-inline: 0;
  }
  .tutorial-steps .toc {
    margin-bottom: 32px;
  }
  .tutorial-step + .tutorial-step {
    margin-top: 48px;
    padding-top: 32px;
  }
  .tutorial-step h3 {
    font-size: var(--fs-lead);
  }
}