@layer modules {
  .microbe {
    h1 {
      font-size: calc(var(--base) * pow(var(--phi), var(--heading-step) * 6));
    }

    h2 {
      font-size: calc(var(--base) * pow(var(--phi), var(--heading-step) * 5));
    }

    h3 {
      font-size: calc(var(--base) * pow(var(--phi), var(--heading-step) * 4));
    }

    h4 {
      font-size: calc(var(--base) * pow(var(--phi), var(--heading-step) * 3));
    }

    h5 {
      font-size: calc(var(--base) * pow(var(--phi), var(--heading-step) * 2));
    }

    h6 {
      font-size: calc(var(--base) * pow(var(--phi), var(--heading-step) * 1));
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-weight: var(--heading-font-weight);
    }

    hr {
      height: 0;
      border: none;
      border-block-start: var(--border-width) solid hsl(var(--neutral-hue) var(--neutral-saturation) var(--lightness-3));
      background: none;
      margin-block: var(--scale-5);
    }

    strong {
      font-weight: calc(var(--font-weight) + 200);
    }

    abbr {
      text-decoration: underline;
      text-decoration-style: dotted;
      text-decoration-color: hsl(var(--neutral-hue) var(--neutral-saturation) var(--lightness-7));
    }

    mark {
      background: hsl(50 100% var(--lightness-5));
      color: hsl(var(--neutral-hue) var(--neutral-saturation) var(--foreground-lightness));
    }

    ins {
      color: hsl(var(--success-hue) var(--success-saturation) var(--lightness-9));
      text-decoration: none;
    }

    del {
      color: hsl(var(--error-hue) var(--error-saturation) var(--lightness-9));
      text-decoration: Strikethrough;
    }

    samp {
      font-weight: bold;
      font-family: monospace;
    }

    code,
    kbd {
      display: inline-block;
      border-radius: var(--scale-2);
      padding: 0 var(--scale-3);
      font-size: calc(var(--scale-5) - 2 * var(--border-width));
    }

    code {
      background: light-dark(hsl(var(--neutral-hue) var(--neutral-saturation) var(--lightness-2)),
          hsl(var(--neutral-hue) var(--neutral-saturation) var(--lightness-4)));
      font-family: monospace;
    }

    kbd {
      background: hsl(var(--neutral-hue) var(--neutral-saturation) var(--lightness-11));
      color: hsl(var(--neutral-hue) var(--neutral-saturation) var(--lightness-0));
      font-weight: bold;
      font-family: monospace;
      padding-inline: var(--scale-4);
    }

    pre>code {
      display: block;
      outline: none;
      padding: var(--scale-5) var(--scale-6);
      background: hsl(var(--neutral-hue) var(--neutral-saturation) var(--lightness-1));
      border: var(--border-width) solid hsl(var(--accent-hue) 0% var(--lightness-4));
      border-radius: var(--scale-3);
      overflow-x: auto;
    }

    blockquote {
      border-inline-start: var(--scale-2) solid hsl(var(--accent-hue) var(--accent-saturation) var(--lightness-3));
      margin: var(--scale-5) 0;
      padding: var(--scale-5) var(--scale-6);

      &>footer {
        margin-block-start: var(--scale-4);
      }
    }

    small {
      font-size: smaller;
    }
  }
}
