html,
body {
  height: 100%;
  margin: 0;
}

body {
  align-items: center;
  display: flex;
  justify-content: center;
  background: linear-gradient(to bottom right, #444444, #2563EB);
  font-size: 1.5rem;
}

main {
  margin: 0 auto; /* center horizontally */
  max-width: 650px; /* limit width */
  width: 100%; /* responsive */
  display: flex;
  flex-direction: column;
  align-items: center; /* center children horizontally */
  gap: 1rem;
}

.logo {
  height: 20em;
}

.centered {
  display: flex;
  justify-content: center;
}

h1 + .subtitle {
  display: block;
  margin-top: -1em;
}

.description-textarea {
  width: 100%;
  max-width: 600px;
  height: 300px;
  box-sizing: border-box;
  resize: none;
  padding: 10px;
  font-family: monospace;
  overflow-y: auto;
  display: block;
  /* margin: 0 auto;  not needed if parent flex centers */
}

img.fade {
  transition: opacity 0.5s ease-in-out;
  opacity: 1;
}

img.hidden {
  opacity: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25); /* dim background */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000; /* ensure it's above other content */
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000; /* ensure it's above other content */
}

.modal-window {
  font-family: "Arial", Helvetica, sans-serif;
  background: linear-gradient(to bottom right, #205AE0, #2563EB);
  padding: 20px 30px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  min-width: 300px;
  text-align: center;
}

.modal-title-bar {
  background: #333;
  color: white;
  padding: 8px;
  cursor: grab;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

.modal-content {
  padding: 16px;
}

.modal-buttons {
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
}

.modal-button {
  padding: 8px 16px;
  font-size: 1rem;
  cursor: pointer;
}
