@import url("https://fonts.googleapis.com/css2?family=Righteous&display=swap");
* {
  font-family: "Righteous", cursive;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #fff9ed;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100vw;
  flex-wrap: wrap;
  padding: 40px 0;
}
.container .card {
  position: relative;
  width: 320px;
  height: 440px;
  box-shadow: inset 5px 5px 5px rgba(0, 0, 0, 0.05), inset -5px -5px 5px rgba(255, 255, 255, 0.5), 5px 5px 5px rgba(0, 0, 0, 0.05), -5px -5px 5px rgba(255, 255, 255, 0.5);
  border-radius: 15px;
  margin: 30px;
}
.container .card .box {
  position: absolute;
  top: 20px;
  right: 20px;
  bottom: 20px;
  left: 20px;
  background: #fff9ed;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.5s;
}
.container .card .box .content {
  padding: 20px;
  text-align: center;
}
.container .card .box .content .fab {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: clamp(55px, 10vw, 65px);
  pointer-events: none;
}
.container .card .box .content .fa-python {
  background: #0073a3;
  background: linear-gradient(90deg, #0073a3 0%, #ffd229 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
}
.container .card .box .content .fa-java {
  background: red;
  background: linear-gradient(90deg, red 0%, #7d6c82 70%, #00d4ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
}
.container .card .box .content .fa-js-square {
  background-color: #fbda61;
  background-image: linear-gradient(45deg, #fbda61 0%, #ff5acd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
}
.container .card .box .content h3 {
  font-size: 1.8em;
  color: #777;
  z-index: 1;
  transition: 0.5s;
}
.container .card .box .content p {
  font-size: 1em;
  color: #777;
  z-index: 1;
  transition: 0.5s;
}
.container .card .box .content a {
  position: relative;
  display: inline-block;
  padding: 8px 20px;
  background: #409eff;
  margin-top: 15px;
  border-radius: 20px;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}
.container .card:hover .box .content a {
  background: #ff4049;
}

.container .card:hover .box {
  transform: translateY(-50px);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
  background: linear-gradient(45deg, #b95ce4, #4f29cd);
}

.container .card:hover .box .content h3,
.container .card:hover .box .content p {
  color: #fff;
}

body.dark-theme {
  background: #232427;
}
body.dark-theme .card {
  box-shadow: inset 5px 5px 5px rgba(0, 0, 0, 0.2), inset -5px -5px 15px rgba(255, 255, 255, 0.1), 5px 5px 15px rgba(0, 0, 0, 0.3), -5px -5px 15px rgba(255, 255, 255, 0.1);
}
body.dark-theme .card .box {
  background: #2a2b2f;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}
body.dark-theme .card .box .content h3 {
  color: rgba(255, 255, 255, 0.9);
}
body.dark-theme .card .box .content p {
  color: rgba(255, 255, 255, 0.9);
}
body.dark-theme .card .box .content a {
  background: #000;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
body.dark-theme .container .card:nth-child(1) .box .content a {
  background: #ff0000;
}
body.dark-theme .container .card:nth-child(2) .box .content a {
  background: #ba00ec;
}
body.dark-theme .container .card:nth-child(3) .box .content a {
  background: #4158d0;
}
body.dark-theme .container .card:hover .box {
  background-color: #4158d0;
  background-image: linear-gradient(43deg, #ffcc70 0%, #c850c0 46%, #4158d0 100%);
}
