* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --bg-body: linear-gradient(180deg, #ceb27e 0%, #85691e 100%);
  --bg-calculator: #2d2a37;
  --bg-button: #462878;

  --text-primary: #ebebeb;
  --text-secondary: #975dfa;
  --text-tertiary: #6b6b6b;

  font-size: 62.5%;
}

body {
  background: var(--bg-body);
  color: var(--text-primary);

  font-family: "Rubik", sans-serif;
  font-size: 1.6rem;

  height: 100vh;

  display: grid;
  place-items: center;
}

button {
  background-color: transparent;
  border: none;

  cursor: pointer;
}

.hide {
  display: none;
}

.calculator {
  width: 35.6rem;
  height: 56.6rem;
  padding: 5.4rem 3.2rem 3.2rem;

  background-color: var(--bg-calculator);
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25),
    0px 188px 52px rgba(0, 0, 0, 0.01), 0px 120px 48px rgba(0, 0, 0, 0.04),
    0px 68px 41px rgba(0, 0, 0, 0.15), 0px 30px 30px rgba(0, 0, 0, 0.26),
    0px 8px 17px rgba(0, 0, 0, 0.29), inset 0px 6px 8px rgba(255, 255, 255, 0.1),
    inset 0px -4px 5px rgba(0, 0, 0, 0.22);
  border-radius: 4.8rem;
}

#display {
  display: flex;
  flex-direction: column;
  align-items: flex-end;

  padding: 0rem 2.2rem 0rem 1.8rem;
  gap: 0.8rem;
  margin-bottom: 2.6rem;

  height: 8.6rem;
}

#operands {
  display: flex;
  height: 2.8rem;
}

#operands span {
  font-size: 2rem;
  line-height: 140%;
  letter-spacing: -0.02em;

  color: var(--text-tertiary);
}

#result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  width: 100%;
  height: 5rem;
}

#result span {
  font-size: 3.6rem;
  line-height: 140%;
  color: var(--text-primary);

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#keyboard {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.calculator button {
  display: grid;
  place-items: center;

  width: 6.4rem;
  height: 6.4rem;

  background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.05) 0%,
      rgba(255, 255, 255, 0.05) 100%
    ),
    #2d2a37;
  box-shadow: 0px 11px 7px rgba(0, 0, 0, 0.01), 0px 7px 7px rgba(0, 0, 0, 0.04),
    0px 4px 6px rgba(0, 0, 0, 0.1), 0px 2px 4px rgba(0, 0, 0, 0.26),
    0px 0px 2px rgba(0, 0, 0, 0.29), inset 0px 2px 3px rgba(255, 255, 255, 0.06);
  border-radius: 999px;

  font-size: 2.4rem;
  line-height: 2.8rem;
  letter-spacing: -0.02em;

  color: var(--text-primary);

  transition: all 200ms;
}

.calculator button:hover {
  transform: scale(1.1);
  opacity: 0.4;
}

.calculator button svg {
  width: 2.8rem;
  height: 2.8rem;
}

#clear {
  color: #c97a03;
}

#division,
#multiplication,
#minus,
#plus {
  background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.05) 0.01%,
      rgba(255, 255, 255, 0.05) 100%
    ),
    #462878;
  box-shadow: 0px 11px 7px rgba(0, 0, 0, 0.01), 0px 7px 7px rgba(0, 0, 0, 0.04),
    0px 4px 6px rgba(0, 0, 0, 0.1), 0px 2px 4px rgba(0, 0, 0, 0.26),
    0px 0px 2px rgba(0, 0, 0, 0.29), inset 0px 2px 3px rgba(255, 255, 255, 0.1);
}



#equals {
  background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.15) 0%,
      rgba(255, 255, 255, 0.05) 100%
    ),
    #c97a03;
  box-shadow: 0px 11px 7px rgba(0, 0, 0, 0.01), 0px 7px 7px rgba(0, 0, 0, 0.04),
    0px 4px 6px rgba(0, 0, 0, 0.1), 0px 2px 4px rgba(0, 0, 0, 0.26),
    0px 0px 2px rgba(0, 0, 0, 0.29), inset 0px 2px 3px rgba(255, 255, 255, 0.1);
}
