
:root{
  --bg: #000000;
  --gold: #FFD700;
  --violet: #9A4DFF; /* deepened slightly for contrast */
  --hotmagenta: #FF66FF;
  --text: var(--gold);
  --nav-bg: rgba(0,0,0,0.55);
}

*{ box-sizing:border-box; }
html, body{
  margin:0; padding:0;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height: 1.6;
  text-align: center;
}

/* ===== Enhanced Link Styling ===== */
a {
  color: var(--gold);
  text-decoration: none;
  position: relative;
  transition: color 0.25s ease, text-shadow 0.25s ease;
}

/* soft glow + underline reveal on hover */
a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--hotmagenta), var(--violet));
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

a:hover {
  color: var(--hotmagenta);
  text-shadow: 0 0 8px var(--hotmagenta), 0 0 16px var(--violet);
}

a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

a:active {
  color: var(--violet);
  text-shadow: 0 0 10px var(--violet);
}

/* ===== Image Styling ===== */
img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
  margin: 1.5rem auto;
  box-shadow:
    0 0 10px rgba(255, 215, 0, 0.4),
    0 0 20px rgba(255, 102, 255, 0.25),
    0 0 30px rgba(154, 77, 255, 0.2);
  transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}

/* hover shimmer */
img:hover {
  transform: scale(1.02);
  filter: brightness(1.1);
  box-shadow:
    0 0 12px rgba(255, 215, 0, 0.7),
    0 0 24px rgba(255, 102, 255, 0.5),
    0 0 40px rgba(154, 77, 255, 0.4);
}

/* subtle fade-in for images as they load */
img {
  opacity: 0;
  animation: fadeInImage 0.8s ease forwards;
}

@keyframes fadeInImage {
  from { opacity: 0; transform: scale(0.98); }
  to { opacity: 1; transform: scale(1); }
}


/* ===== Lantern Bar (fixed top nav) ===== */
.navbar{
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: var(--nav-bg);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.nav-inner{
  max-width: 1100px;
  margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
  gap: 1rem;
  padding: .65rem 1rem;
}
.logo{
  width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
  margin-right: .25rem;
  filter: drop-shadow(0 0 6px var(--gold));
  animation: lanternPulse 4.5s ease-in-out infinite;
}
@keyframes lanternPulse{
  0%,100%{ filter: drop-shadow(0 0 6px var(--gold)) drop-shadow(0 0 12px var(--gold)); opacity:.92; }
  50%{ filter: drop-shadow(0 0 10px var(--hotmagenta)) drop-shadow(0 0 20px var(--hotmagenta)); opacity:1; }
}
nav ul{ list-style:none; display:flex; flex-wrap:wrap; gap:1rem; margin:0; padding:0; }
nav a{
  color: var(--gold); text-decoration:none; font-size:1rem; letter-spacing:.02em;
  text-shadow: 0 0 5px rgba(255,215,0,.6);
  transition: color .2s ease, text-shadow .2s ease, transform .15s ease;
  padding:.25rem .35rem; border-radius:6px;
}
nav a:hover{ color: var(--hotmagenta); text-shadow: 0 0 8px var(--hotmagenta), 0 0 18px var(--hotmagenta); transform: translateY(-1px); }
nav a.active{ color: var(--violet); text-shadow: 0 0 6px var(--violet), 0 0 14px var(--violet); position: relative; }
nav a.active::after{
  content:""; position:absolute; left:12%; right:12%; bottom:-6px; height:2px;
  background: radial-gradient(closest-side, var(--violet), transparent);
  filter: drop-shadow(0 0 6px var(--violet));
}

/* Push content below fixed nav */
main{ padding: calc(60px + 1.25rem) 1rem 2.5rem; }

/* Headings */
header h1{
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--hotmagenta);
  text-shadow: 0 0 10px var(--hotmagenta), 0 0 20px var(--hotmagenta);
  margin: 0 0 1rem 0;
}

/* Footer */
footer{ margin: 2rem 0; font-size:.95rem; color: var(--gold); opacity:.9; }
footer .sig{ letter-spacing:.02em; text-shadow: 0 0 6px rgba(255,215,0,.55); }

/* Responsive */
@media (max-width:520px){
  .nav-inner{ gap:.5rem; padding:.55rem .75rem; }
  nav ul{ gap:.65rem; }
  nav a{ font-size:.98rem; }
  .logo{ width:24px; height:24px; }
}
