@charset "UTF-8";
/* CSS Document */

/* Reset default styles */
body {
  margin: 0;
  overflow: hidden;
  background: black;
  font-family: Arial, sans-serif;	//cursor: none; /* Hide the default cursor */
}

.custom-cursor {
  position: fixed;
  width: 20px; /* Size of the circle */
  height: 20px; /* Size of the circle */
  background-color: rgba(255, 255, 255, 0.8); /* White circle with some transparency */
  border-radius: 50%; /* Makes it a perfect circle */
  pointer-events: none; /* Prevent the cursor from interfering with other elements */
  z-index: 10000; /* Ensures the cursor is always on top */
  transform: translate(-50%, -50%); /* Center the circle on the mouse pointer */
}

/* Background video styles */
#video-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  background: black;
}

#white {
  position: absolute;
  top: 5%;
  left: 30%;
  width: 100%;
  height: 100%;
  z-index: -2;
  color: #898989;
}

#background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Corner video styles */
#corner-video-left,
#corner-video-right {
  position: absolute;
  top: 10%;
  width: 300px;
  height: 200px;
  z-index: 1;
  border: 0px solid white;
  background: black;
}

#corner-video-left {
  left: 10%;
}

#corner-video-right {
  right: 10%;
}

/* Text display styles for regular keys */
#text-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex; /* Flexbox for centering child elements */
  justify-content: center; /* Horizontal alignment */
  align-items: center; /* Vertical alignment */
  pointer-events: none; /* Ensure it doesn't block interactions */
  z-index: 10; /* Ensure it appears above other elements */
}

/* Default text styling */
#displayed-text {
  font-size: 1.5em;
  color: white;
  text-align: left;
  font-weight: normal;
  max-width: 80%; /* Prevent text from overflowing the page */
  word-wrap: break-word;
  overflow-wrap: break-word;
}
/* Special Mode Text Styling (LOVE, HOPE, WISH) */
#displayed-text.special-mode {
  font-size: 4em; /* Larger text */
  color: yellow; /* Highlighted color */
  text-align: center; /* Center alignment */
  font-weight: bold; /* Bold font */
}

/* Key Press Counter */
#key-counter {
 position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 3;
  color: white;
  font-size: 11px;
  background: rgba(0, 0, 0, 0.5);
  padding: 1px 1px;
  border-radius: 0px;
}

/* Keyboard container styles */
.keyboard-container {
  position: absolute;
  bottom: 20px;
  width: 100%;
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-gap: 5px;
  justify-items: center;
  z-index: 3;
  opacity: 0.01;
}

.row {
  display: grid;
  grid-gap: 5px;
}

.row:first-child {
  grid-template-columns: repeat(10, 1fr); /* Numbers row */
}

.row:nth-child(2) {
  grid-template-columns: 0.5fr repeat(10, 1fr) 0.5fr; /* QWERTY row */
}

.row:nth-child(3) {
  grid-template-columns: 1fr repeat(9, 1fr) 1fr; /* ASDFGH row */
}

.row:nth-child(4) {
  grid-template-columns: 1.5fr repeat(7, 1fr) 1.5fr; /* ZXCVBN row */
}

/* Button styles */
button {
  padding: 10px;
  font-size: 14px;
  border: 0px solid white;
  background: black;
  color: #898989;
  cursor: pointer;
  text-transform: uppercase;
  z-index: 3;
}

button:focus {
  outline: none;
  background: #000000;
  color: black;
}
