button#open-chat {
  position: fixed;
  right: 40px;
  bottom: 30px;
  width: 50px;
  aspect-ratio: 1/1;

  border: none;
  border-radius: 50%;
  color: #ffffff;

  background-color: var(--accent);

  cursor: pointer;
}

button#open-chat::before {
  content: "";
  position: absolute;

  top: -5px;
  left: -5px;

  width: 16px;
  aspect-ratio: 1/1;

  box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.2);

  border-radius: 50%;
  background-color: var(--accent);
}

button#open-chat i {
  font-size: 20px;
}

div#chat {
  --chat-background: #0c3374;
  --chat-items-background: rgba(0, 0, 0, 0.4);

  position: fixed;
  top: 0;
  right: 0;

  display: flex;
  flex-direction: column;
  gap: 12px;

  width: 280px;
  height: 100vh;
  background-color: var(--chat-background);

  padding: 16px;

  z-index: 3;
}

@media (max-width: 768px) {
  div#chat {
    width: 100%;
  }
}

div#chat div.chat-header {
  display: flex;
  align-items: stretch;
}

div#chat div.chat-header > * {
  background-color: var(--chat-items-background);

  color: var(--opaque-text);

  font-size: 12px;
  font-weight: 600;
}

div#chat div.chat-header > div {
  flex: 1;
  display: flex;
  align-items: center;

  border: 1px solid var(--opaque-border);
  border-radius: 4px;

  padding: 6px 8px;
}

div#chat div.chat-header div.lang {
  display: flex;
  gap: 8px;
}

div#chat div.chat-header div.lang img {
  width: 30px;
}

div#chat div.chat-header div.rules i {
  color: #ffffff;
  margin-right: 8px;
}

div#chat div.messages {
  flex: 1;

  display: flex;
  flex-direction: column;
  gap: 12px;

  overflow: scroll;
}

div#chat div.messages div.message {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

div#chat div.messages div.message div.message-content {
  background-color: var(--chat-items-background);

  padding: 8px;

  color: var(--opaque-text);
  border-radius: 4px;
}

div#chat div.messages div.message div.message-content span.user-name,
div#chat div.messages div.message div.message-content p.user-message {
  display: inline;
}

div#chat div.messages div.message div.message-content span.user-name {
  font-size: 16px;
  font-weight: bold;
}

div#chat div.messages div.message div.message-content p.user-message {
  font-size: 12px;
  color: #ffffff;
}

div#chat div.messages div.message span.message-time {
  font-size: 12px;
  font-weight: bold;

  color: var(--opaque-text);
}

div#chat div.go-to-final {
  color: var(--opaque-text);
  font-size: 12px;
  font-weight: bold;

  text-align: center;

  cursor: pointer;
}

div#chat div.input-message form {
  display: flex;
  align-items: center;
  gap: 12px;
}

div#chat div.input-message form textarea {
  flex: 1;

  height: 48px;

  padding: 8px;

  background-color: var(--chat-background);
  resize: none;

  outline: none;
}

div#chat div.input-message form button {
  height: 48px;
  aspect-ratio: 1/1;

  border: none;
  border-radius: 4px;

  background-color: var(--accent);
}

div#chat button.close-chat {
  width: 35px;
  aspect-ratio: 1/1;

  margin-right: 4px;

  border: none;
  border-radius: 50%;

  cursor: pointer;
}
