:root {
  --bg-1: #07080c;
  --bg-2: #0c0b0a;
  --fg: #eaeaea;

  --lf-rim-bright: 255, 255, 255;
  --lf-rim-dark: 0, 0, 0;
  --lf-bg: 255, 255, 255;
  --lf-radius: 10px;
  --lf-transparent: 80%;
}

.lightfade {
  position: relative;
  border-radius: var(--lf-radius);
  padding: 1rem 1.5rem;
  background: rgba(var(--lf-bg), 0.02);
  -webkit-backdrop-filter: blur(2px) saturate(120%);
  backdrop-filter: blur(2px) saturate(120%);
  overflow: hidden;
  color: rgb(var(--lf-rim-bright));
  border: none;
}

.lightfade::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px; /* stroke thickness */
  background: /* white base */ linear-gradient(
        0deg,
        rgb(var(--lf-rim-bright)),
        rgb(var(--lf-rim-bright))
      )
      padding-box,
    /* fade black at top right */
      radial-gradient(
        circle at 100% 0%,
        rgba(var(--lf-rim-dark), 0.9) 0%,
        transparent var(--lf-transparent)
      )
      border-box,
    /* fade black at bottom left */
      radial-gradient(
        circle at 0% 100%,
        rgba(var(--lf-rim-dark), 0.9) 0%,
        transparent var(--lf-transparent)
      )
      border-box;
  background-blend-mode: multiply;

  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;

  pointer-events: none;
  opacity: 0.9;
}

.lightfade-btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font: 600 15px/1.1 "Inter", system-ui, sans-serif;
  letter-spacing: 0.02em;
  cursor: pointer;
  text-align: center;
  border-radius: var(--lf-radius, 18px);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
}
.lightfade-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(
    120% 120% at 50% 50%,
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0.8) 60%
  );
  opacity: 0;
  transform: scale(0.9);
}
.lightfade-btn.is-clicking::after {
  animation: lf-flash 400ms ease-out;
}
@keyframes lf-flash {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  20% {
    opacity: 0.9;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(3);
  }
}

.lightfade-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
}

.lightfade-btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.lightfade-block {
  padding: 2rem;
  border-radius: var(--lf-radius, 20px);
}

.maintenance-button {
  margin-top: 30px;
}

html,
body {
  margin: 0;
  height: 100%;
  font-family: Helvetica, Arial, sans-serif;
  color: var(--fg);
  scroll-behavior: smooth;
  background: radial-gradient(
    ellipse at bottom,
    var(--bg-1) 0%,
    var(--bg-2) 100%
  );
  overflow-x: hidden;
}

h1 {
  font-size: 3rem;
  letter-spacing: 2px;
  text-align: center;
  text-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
  z-index: 2;
}

p {
  font-size: 1.2rem;
  text-align: center;
  margin-top: -10px;
  color: #979797;
  z-index: 2;
}

.maintenance {
  margin: 0;
  height: 93vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

/* star styles */
.star {
  position: absolute;
  border-radius: 50%;
  background: rgb(139, 163, 196);
  opacity: 0.8;
  animation: twinkle 2s infinite ease-in-out;
  z-index: 0;
}

@keyframes twinkle {
  0%,
  100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

/* Footer */
.footer {
  font-family: "Courier New", monospace;
  font-size: 13px;
  text-align: center;
  padding: 40px;
  opacity: 0.6;
  position: relative;
  z-index: 5;
}

/* Responsiveness */
@media (max-width: 720px) {
  .nav {
    gap: 8px;
    padding: 10px 12px;
  }
  .nav nav a {
    padding: 8px;
  }
  h1 {
    font-size: 1.9rem;
  }
  .card {
    padding: 22px 16px;
  }
}

/* Motion sensitivity */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
