<main class="container">
  <div class="button-body">
    <button class="button-cap">1</button>
  </div>
</main>
@import url(https://fonts.googleapis.com/css?family=Audiowide);

* {
  box-sizing: border-box;
}

body {
  padding: 0;
  margin: 0;
}

// I'm using this to center the button to the screen
.container {
  /* layout */
  display: flex;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;

  /* style */
  background: #1a0014;
}

.button-body {
  /* layout */
  display: flex;
  justify-content: center;
  width: 75px;
  height: 75px;

  padding-top: 2px;

  /* style */
  background: linear-gradient(145deg, rgb(120, 118, 99), #fff9d6);
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0px 2px rgba(16, 22, 26, 0.2),
    0 0px 1px rgba(16, 22, 26, 0.2);

  /* effects */
  &:active {
    transform: scale(0.95);
    background: linear-gradient(145deg, rgb(120, 118, 99), #fff9d6);
    box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0px 2px rgba(16, 22, 26, 0.2),
      0 0px 1px rgba(16, 22, 26, 0.2);
  }
}

.button-cap {
  /* layout */
  width: 65px;
  height: 65px;
  border-radius: 5px;

  /* style */
  border: none;
  background: linear-gradient(145deg, #d6d2b4, #fff9d6);
  box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0px 2px rgba(16, 22, 26, 0.2),
    0 0px 1px rgba(16, 22, 26, 0.2);

  /* typography */
  font-family: "Audiowide", cursive;
  color: black;
  font-size: larger;

  /* effects */
  &:active {
    transform: scale(0.95);
    background: linear-gradient(145deg, #d6d2b4, #fff9d6);
    box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0px 2px rgba(16, 22, 26, 0.2),
      0 0px 1px rgba(16, 22, 26, 0.2);
  }

  &:hover {
    cursor: pointer;
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/react/18.2.0/umd/react.production.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.2.0/umd/react-dom.production.min.js