:root {
  --dark: hsl(240, 9%, 13%);
  --champagne: hsl(32, 100%, 90%);
  --font-redhat: "Red Hat", sans-serif;
  --font-moderline: "Modernline", sans-serif;
}

#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  color: var(--champagne);
}

.loader-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

.clock-container {
  position: relative;
  width: 35em;
  height: 35em;
  /* border: solid; */
}

.clock-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.clock-spike {
  fill: var(--champagne);
  transform-origin: 150px 150px;
}

.clock-spike.major {
  opacity: 1;
}

.clock-spike.minor {
  opacity: 0.6;
}

.progress-ring {
  fill: none;
  stroke: var(--champagne);
  opacity: 0.3;
}

.progress-fill {
  fill: none;
  stroke: var(--champagne);
  stroke-width: 2;
  stroke-dasharray: 942.48; /* Updated circumference for r=125 */
  opacity: 0.9;
}

.counter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  font-weight: 700;
  color: var(--champagne);
}

.loader-text {
  display: flex;
  align-items: center;
  gap: 1em;
  text-align: center;
  color: var(--champagne);
  font-family: var(--font-modernline) !important;
}

.loader-name {
  font-size: clamp(1.5rem, 5vw, 2.5rem);
  font-weight: 600;
  margin-bottom: 0.5rem;
  letter-spacing: 2px;
}

.separator {
  width: 60px;
  height: 2px;
  background: var(--champagne);
  margin: 0.5rem auto;
  opacity: 0.7;
}

.role-text {
  font-size: 1.2rem;
  font-weight: 400;
  min-height: 1.5rem;
  opacity: 0.9;
}

/* Main content (hidden initially) */
.main-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--champagne);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: var(--dark);
  z-index: 1;
}