* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #000;
}

.page-background {
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100vh;
  background: radial-gradient(circle at center, #1a1a1a 0%, #000 100%);
  font-family: system-ui, -apple-system, sans-serif;
}

.clock-container {
  display: grid;
  place-items: center;
}

.clock-face {
  --size: 300px;
  width: var(--size);
  height: var(--size);
  background: conic-gradient(from 0deg, #2a2a2a, #1a1a1a, #2a2a2a);
  border-radius: 50%;
  position: relative;
  box-shadow: 0 0 50px rgba(0, 255, 100, 0.1), inset 0 0 30px rgba(0, 0, 0, 0.5),
    0 0 0 2px rgba(0, 255, 100, 0.2);
}

.clock-face::before {
  content: "";
  position: absolute;
  inset: 8px;
  background: radial-gradient(circle, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50%;
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.8);
}

.marker {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.marker-dot {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00ff64;
  box-shadow: 0 0 10px #00ff64;
}

.marker:nth-child(3n) .marker-dot {
  width: 8px;
  height: 8px;
  box-shadow: 0 0 15px #00ff64;
}

.marker:nth-child(1) {
  transform: rotate(30deg);
}
.marker:nth-child(2) {
  transform: rotate(60deg);
}
.marker:nth-child(3) {
  transform: rotate(90deg);
}
.marker:nth-child(4) {
  transform: rotate(120deg);
}
.marker:nth-child(5) {
  transform: rotate(150deg);
}
.marker:nth-child(6) {
  transform: rotate(180deg);
}
.marker:nth-child(7) {
  transform: rotate(210deg);
}
.marker:nth-child(8) {
  transform: rotate(240deg);
}
.marker:nth-child(9) {
  transform: rotate(270deg);
}
.marker:nth-child(10) {
  transform: rotate(300deg);
}
.marker:nth-child(11) {
  transform: rotate(330deg);
}
.marker:nth-child(12) {
  transform: rotate(360deg);
}

.number {
  position: absolute;
  inset: 0;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  color: #00ff64;
  text-shadow: 0 0 10px #00ff64;
  z-index: 2;
}

.number:nth-child(13) {
  transform: rotate(30deg);
}
.number:nth-child(14) {
  transform: rotate(60deg);
}
.number:nth-child(15) {
  transform: rotate(90deg);
}
.number:nth-child(16) {
  transform: rotate(120deg);
}
.number:nth-child(17) {
  transform: rotate(150deg);
}
.number:nth-child(18) {
  transform: rotate(180deg);
}
.number:nth-child(19) {
  transform: rotate(210deg);
}
.number:nth-child(20) {
  transform: rotate(240deg);
}
.number:nth-child(21) {
  transform: rotate(270deg);
}
.number:nth-child(22) {
  transform: rotate(300deg);
}
.number:nth-child(23) {
  transform: rotate(330deg);
}
.number:nth-child(24) {
  transform: rotate(360deg);
}

.number-text {
  display: inline-block;
  transform: translateY(35px) rotate(calc(var(--i, 0) * -30deg));
}

.number:nth-child(13) .number-text {
  --i: 1;
}
.number:nth-child(14) .number-text {
  --i: 2;
}
.number:nth-child(15) .number-text {
  --i: 3;
}
.number:nth-child(16) .number-text {
  --i: 4;
}
.number:nth-child(17) .number-text {
  --i: 5;
}
.number:nth-child(18) .number-text {
  --i: 6;
}
.number:nth-child(19) .number-text {
  --i: 7;
}
.number:nth-child(20) .number-text {
  --i: 8;
}
.number:nth-child(21) .number-text {
  --i: 9;
}
.number:nth-child(22) .number-text {
  --i: 10;
}
.number:nth-child(23) .number-text {
  --i: 11;
}
.number:nth-child(24) .number-text {
  --i: 12;
}

.hand {
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform-origin: bottom center;
  border-radius: 10px 10px 0 0;
  z-index: 5;
  transition: transform 0.1s ease-out;
}

.hour-hand {
  width: 8px;
  height: 50px;
  background: linear-gradient(to top, #ffffff, #e0e0e0);
  box-shadow: 0 0 20px #ffffff;
  transform: translateX(-50%) rotate(0deg);
}

.minute-hand {
  width: 6px;
  height: 80px;
  background: linear-gradient(to top, #8b5cf6, #7c3aed);
  box-shadow: 0 0 20px #8b5cf6;
  transform: translateX(-50%) rotate(0deg);
  z-index: 6;
}

.second-hand {
  width: 3px;
  height: 100px;
  background: linear-gradient(to top, #6b7280, #4b5563);
  box-shadow: 0 0 15px #6b7280;
  transform: translateX(-50%) rotate(0deg);
  z-index: 7;
}

.center-pin {
  width: 20px;
  height: 20px;
  background: radial-gradient(circle, #8b5cf6, #7c3aed);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  box-shadow: 0 0 20px #8b5cf6;
}

.center-pin::after {
  content: "";
  position: absolute;
  inset: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  background: #000;
  border-radius: 50%;
}

.footer {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
}

.footer p {
  margin: 0;
  font-size: 14px;
  color: #666;
  text-align: center;
  font-family: system-ui, -apple-system, sans-serif;
}

.footer a {
  color: #00ff64;
  text-decoration: none;
  font-weight: 500;
  text-shadow: 0 0 5px #00ff64;
}

.footer a:hover {
  text-decoration: underline;
  text-shadow: 0 0 10px #00ff64;
}
