/* General Styles */
html,
body {
  height: 100%;
  width: 100%;
  background-color: #dedede;
  color: black;
  margin: 0;
  padding: 0;
  font-family: 'Roboto', sans-serif;
  transition: background-color 0.5s ease, color 0.5s ease;
}

header {
  width: 100%;
  height: 100px;
  padding: 10px 0;
  background-color: #c8c8c8;
  position: fixed;
  top: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.5s ease, color 0.5s ease;
}

.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.5s ease, color 0.5s ease;
}

#darkModeToggle {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
}

.header-divider {
  width: 100%;
  height: 2px;
  background-color: #7d7d7d;
  position: fixed;
  top: 100px;
  z-index: 9;
}

main {
  padding-top: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

main .content {
  width: 100%;
  max-width: 800px;
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: background-color 0.5s ease, color 0.5s ease;
}

.content:not(:last-child) {
  margin-bottom: 20px;
}

.darkLightText {
  color: #646464;
}

/* Menu Styles */
.menu {
  position: fixed;
  top: 110px;
  /* Adjusted to be below the header */
  right: 10px;
  background-color: #fff;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  z-index: 999;
  transition: background-color 0.5s ease, color 0.5s ease;
}

.dark-mode .menu {
  background-color: #323232;
  color: white;
  border-color: #afafaf;
}

.menu label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
}

.menu input[type="range"] {
  width: 150px;
}

/* Common & Simple Styles */
.orbitron {
  font-family: 'Orbitron', sans-serif;
}

.hidden {
  display: none;
}

.center {
  align-self: center;
  text-align: center;
  align-items: center;
  vertical-align: middle;
}

.centerForcefully {
  /* Use only when .center doesn't work, avoid frequent use to prevent issues. */
  display: flex;
  align-items: center;
  justify-content: center;
}

.rounded {
  border-radius: 20px;
}

.scrollable {
  overflow-y: auto;
}

.divider {
  width: 100%;
  height: 2px;
  background-color: #7d7d7d;
  margin: 30px 0;
}

/* Message Styles */
.message {
  left: 10px;
  max-width: 30%;
  width: 100%;
  overflow-y: auto;
  padding: 10px;
  margin-top: 10px;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.75);
  color: #fff;
  z-index: 1000;
}

.message:hover {
  cursor: pointer;
  transform: scale(1.05);
}

.normalMessage {
  background-color: #323232;
}

.errorMessage {
  background-color: #ff0000;
}

.successMessage {
  background-color: #00c800;
}

.infoMessage {
  background-color: #0096ff;
}

/* Animations */
@keyframes slideIn {
  0% {
    transform: translateX(-200%);
  }

  100% {
    transform: translateX(0);
  }
}

.slideIn {
  animation: slideIn 0.5s ease;
  animation-fill-mode: forwards;
}

@keyframes slideOut {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-200%);
  }
}

.slideOut {
  animation: slideOut 0.5s ease;
  animation-fill-mode: forwards;
}

/* Dark Mode Styles */
html.dark-mode,
body.dark-mode {
  background-color: #1e1e1e;
  color: white;
}

header.dark-mode {
  background-color: #282828;
  color: white;
}

main .content.dark-mode {
  background-color: #323232;
  color: white;
}

.header-divider.dark-mode {
  background-color: #afafaf;
}

.divider.dark-mode {
  background-color: #afafaf;
}

/* Clock Styles */
.clock {
  position: relative;
  width: 300px;
  height: 300px;
  border: 5px solid #828282;
  border-radius: 50%;
  margin: 20px auto;
}

.hand {
  position: absolute;
  width: 50%;
  background: #333;
  top: 50%;
  transform-origin: 100%;
}

.microseconds-hand {
  background: #004bf5;
  height: 1px;
  z-index: 8;
}

.microseconds-trail-hand {
  background: #004bf5;
  height: 1px;
  position: absolute;
  width: 50%;
  top: 50%;
  transform-origin: 100%;
  opacity: 0.8;
  z-index: 7;
}

.milliseconds-hand {
  background: black;
  height: 2px;
  z-index: 6;
}

.seconds-hand {
  background: red;
  height: 3px;
  z-index: 5;
}

.minutes-hand {
  background: green;
  height: 4px;
  z-index: 4;
}

.hours-hand {
  background: purple;
  height: 5px;
  z-index: 3;
}

.days-hand {
  background: orange;
  height: 6px;
  z-index: 2;
}

.years-hand {
  background: cyan;
  height: 7px;
  z-index: 1;
}