body {
  font-family: sans-serif;
  margin: 0;
  background-color: #f0f0f0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  perspective: 1000px;
}

.dark-mode {
  background-color: #333;
  color: #f0f0f0;
}

.scene {
  width: 300px;
  height: 300px;
  position: relative;
  transform-style: preserve-3d;
}

.cube {
  width: 100%;
  height: 100%;
  position: absolute;
  transform-style: preserve-3d;
  transition: transform 1s;
}

.cube__face {
  position: absolute;
  width: 300px;
  height: 300px;
  border: 2px solid #333;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 20px;
  box-sizing: border-box;
  overflow: auto;
  backface-visibility: hidden;
}

.dark-mode .cube__face {
  background-color: rgba(51, 51, 51, 0.9);
  border-color: #f0f0f0;
}

.cube__face--front  { transform: rotateY(  0deg) translateZ(150px); }
.cube__face--back   { transform: rotateY(180deg) translateZ(150px); }
.cube__face--right  { transform: rotateY( 90deg) translateZ(150px); }
.cube__face--left   { transform: rotateY(-90deg) translateZ(150px); }
.cube__face--top    { transform: rotateX( 90deg) translateZ(150px); }
.cube__face--bottom { transform: rotateX(-90deg) translateZ(150px); }

.cube-nav {
  position: absolute;
  bottom: 20px;
  display: flex;
  gap: 10px;
}

#login-form div, #idea-form div {
  margin-bottom: 10px;
}

#login-form label, #idea-form label {
  display: inline-block;
  width: 100px;
}

.course {
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 15px;
  margin-bottom: 15px;
}

.dark-mode .course {
  border-color: #f0f0f0;
}

.course h3 {
  margin-top: 0;
}
