* {
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell,
    "Open Sans", "Helvetica Neue", sans-serif;
}

html,
body {
  margin: 0;
  height: 100%;
}

body {
  background: rgb(32, 32, 32);
  max-width: 2000px;
  width: 100%;
  margin: 0 auto;
  background-image: url("images/table.jpg");
  background-repeat: no-repeat;
  background-color: rgb(31, 31, 31);
  background-position: center;
  height: 100%;
  justify-content: center;
  align-items: center;
  display: flex;
}

.calculator {
  background: #141414;
  width: 300px;
  margin: 0 auto;
  border: 10px solid #141414;
  border-radius: 10px;
  /* disable text selection */
  -webkit-user-select: none; /* Chrome all / Safari all */
  -moz-user-select: none; /* Firefox all */
  -ms-user-select: none; /* IE 10+ */
  user-select: none;
  box-shadow: 15px 5px 10px rgba(0, 0, 0, 0.75);
}

.display {
  font-family: "Roboto Mono", monospace;
  cursor: move;
  cursor: -moz-grab;
  cursor: -webkit-grab;
  margin-left: 20px;
  position: relative;
  overflow: hidden;
  height: 120px;
}

.display-bg {
  background: rgb(41, 41, 41);
  border-radius: 5px 5px 0 0;
}

.historyDisplay {
  position: absolute;
  right: 20px;
  top: 15px;
  font-size: 20px;
  color: rgb(170, 255, 86);
  white-space: nowrap;
  font-family: "Roboto Mono", monospace;
}

.currentDisplay {
  font-family: "Roboto Mono", monospace;
  position: absolute;
  bottom: 15px;
  right: 30px;
  font-size: 24px;
  color: #fff;
}

.numpad {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
}

.key {
  min-height: 70px;
  color: #fff;
  text-align: center;
  line-height: 70px;
  font-size: 26px;
  cursor: pointer;
}

.number {
  background: #444;
}
.number:hover {
  background: rgb(80, 80, 80);
}
.number:active {
  background: rgb(92, 92, 92);
}

.ac,
.zero {
  grid-column: span 2;
}

.ac {
  background: rgb(216, 73, 73);
}
.ac:hover {
  background: rgb(233, 79, 79);
}
.ac:active {
  background: rgb(253, 86, 86);
}

.zero {
  border-radius: 0 0 0 5px;
}

.equal {
  grid-row: span 2;
  background: rgb(46, 78, 138);
  border-radius: 0 0 5px 0;
}
.equal:hover {
  background: rgb(51, 87, 153);
}
.equal:active {
  background: rgb(57, 96, 170);
}

.operator {
  background: rgb(95, 95, 95);
}
.operator:hover {
  background: rgb(107, 107, 107);
}
.operator:active {
  background: rgb(117, 117, 117);
}

.glare {
  width: 0;
  height: 0;
  border-top: 325px solid rgba(255, 255, 255, 0.025);
  border-right: 280px solid transparent;
  position: absolute;
  pointer-events: none;
  z-index: 1;
}
