.CodeBlock {
  --spacing: var(--base-size-40);
  margin-block: var(--base-size-24);
  background-color: var(--brand-color-canvas-default);
  border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
  border-radius: var(--brand-borderRadius-large);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  position: relative;
}

.Preview {
  display: flex;
  width: 100%;
  padding: var(--base-size-16);
  padding-block: var(--base-size-64);
  min-height: 240px;
  flex: 1 1;
  align-items: center;
  justify-content: center;
}

.Editor {
  font-size: var(--brand-text-size-100);
  line-height: var(--brand-text-lineHeight-100);
  font-family: var(--brand-fontStack-monospace);
  background-color: var(--brand-color-canvas-subtle);
  overflow: auto;
  position: relative;
}

.EditorWrapper {
  position: relative;
}

.Editor pre {
  font-size: inherit;
  border-radius: 0;
  padding: var(--base-size-16) !important;
  background-color: var(--brand-color-canvas-subtle) !important;
}

.Editor--is-collapsed {
  max-height: 400px;
  overflow: hidden;
}

.Toolbar {
  display: flex;
  gap: var(--base-size-8);
  padding-inline: var(--base-size-16);
  padding-block-start: var(--base-size-16);
  border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
  background-color: var(--brand-color-canvas-subtle);
}

.Error pre {
  margin-block: 0 !important;
  border-radius: 0;
  font-size: var(--brand-text-size-100);
  line-height: var(--brand-text-lineHeight-100);
  font-family: var(--brand-fontStack-monospace);
  color: var(--brand-color-error-fg);
}

.colorModeMenu {
  display: inline-block;
  position: absolute;
  top: var(--base-size-16);
  right: var(--base-size-2);
  z-index: 19;
  width: 200px;
}

.colorModeButtonActive {
  background-color: var(--brand-color-canvas-subtle);
}

.collapseButton {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  background-color: var(--brand-color-canvas-subtle);
  border: none;
  border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
  border-bottom-left-radius: var(--brand-borderRadius-medium);
  border-bottom-right-radius: var(--brand-borderRadius-medium);
  padding: var(--base-size-8) var(--base-size-12);
  font-size: var(--brand-text-size-100);
  font-family: var(--brand-fontStack-system);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--base-size-4);
  z-index: 10;
  transition: background-color var(--brand-animation-duration-default) var(--brand-animation-easing-glide);
}

.collapseButton--collapsed::before {
  content: '';
  position: absolute;
  top: -41px;
  left: 0;
  width: 100%;
  height: 40px;
  background: linear-gradient(to bottom, transparent, var(--brand-color-canvas-subtle));
  z-index: -1;
}

.collapseButton:hover,
.collapseButton:focus {
  background-color: var(--brand-color-canvas-default);
}

.collapseLabel {
  font-size: var(--brand-text-size-100) !important;
}
