.architecture-diagram {
  width: min(1240px, 100%);
  margin: 28px auto 38px;
}

.architecture-diagram__frame {
  position: relative;
  border: 1px solid rgba(59,130,246,.16);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(59,130,246,.025));
  box-shadow: 0 26px 80px rgba(0,0,0,.24);
  overflow: hidden;
}

.architecture-diagram__frame img {
  display: block;
  width: 100%;
  height: auto;
}

.architecture-diagram__frame .architecture-diagram__img--light {
  display: none;
}

html[data-theme="light"] .architecture-diagram__frame .architecture-diagram__img--light {
  display: block;
}

html[data-theme="light"] .architecture-diagram__frame .architecture-diagram__img--dark {
  display: none;
}

.architecture-diagram__hint {
  margin-top: 12px;
  color: var(--dim);
  font-size: .78rem;
  text-align: center;
}

html[data-theme="light"] .architecture-diagram__frame {
  background: #fff;
  border-color: rgba(15,23,42,.11);
  box-shadow: 0 26px 70px rgba(15,23,42,.12);
}

@media (max-width: 820px) {
  .architecture-diagram {
    width: 100%;
    margin: 24px auto 32px;
  }

  .architecture-diagram__frame {
    border-radius: 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .architecture-diagram__frame img {
    width: 980px;
    max-width: none;
  }
}
