* { margin:0; padding:0; box-sizing:border-box; }
html, body {
  height:100%;
  font-family: 'Inter', sans-serif;
  background-color:#000;
  color:#fff;
}

a { text-decoration:none; color:#fff; }

body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-x: hidden;
  position: relative;
}

/* Top nav */
nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1rem 3rem;
  position: fixed;
  top:0;
  width:100%;
  background-color:#000;
  border-bottom:1px solid #222;
  z-index:10;
}

.logo a {
  font-weight:700;
  font-size:1.1rem;
  letter-spacing:0.5px;
  transition:text-shadow 0.3s ease, color 0.3s ease;
}
.logo a:hover {
  text-shadow: 0 0 10px #fff, 0 0 20px #fff;
  font-weight: 800;
}

/* Centered menu, unaffected by logo */
.menu {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 2rem;
}

.menu a {
  display: inline-block;
  position: relative;
  font-weight: 700;
  font-size:1.1rem;
  padding: 0.5rem 0;
}

.menu a::after {
  content:'';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

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


/* Centered homepage content */
.center-content {
  flex: 1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-top:6rem;
}

/* Animated Static Voids text */
.home-logo {
  font-size:4rem;
  font-weight:700;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:0.2rem;
  margin-bottom:2rem;
  user-select: none;
}

@keyframes fadeUp { to { opacity:1; transform:translateY(0); } }
@keyframes idle-bob { 0%{transform:translateY(0);}50%{transform:translateY(-12px);}100%{transform:translateY(0);} }

/* NOTES SECTION */
.notes-container {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  gap:1rem;
}

#noteBox {
  width:70%;
  height:40vh;
  background:#111;
  color:#fff;
  border:1px solid #333;
  border-radius:12px;
  padding:1rem;
  font-size:1rem;
  font-family:'Inter', sans-serif;
  resize:none;
}

.buttons {
  display:flex;
  gap:1rem;
}

.buttons button {
  background:#fff;
  color:#000;
  border:none;
  padding:0.6rem 1.5rem;
  font-weight:700;
  border-radius:9999px;
  cursor:pointer;
  transition:all 0.2s ease;
}

.buttons button:hover {
  background:#ddd;
}

/* Dev signature at bottom */
.dev {
  text-align:center;
  font-size:0.8rem;
  color:#555;
  letter-spacing:1px;
  padding:1rem 0;
}

/* Grain overlay */
.grain {
  position: fixed;
  inset:0;
  pointer-events:none;
  mix-blend-mode: overlay;
  opacity:.6;
  z-index:9999;
  background: url('grain.gif') repeat;
  background-size: cover;
}

/* Responsive */
@media(max-width:768px){
  nav{padding:1rem 2rem;}
  .menu{gap:1rem;}
  .home-logo{font-size:2.5rem; margin-bottom:1.5rem;}
  #noteBox{width:90%;}
}