/* GENERAL */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  transition: 0.4s;
}

:root {
  --bg: #0b0b1a;
  --text: #f7f3ff;
  --card: #17172a;
  --accent: #6b4bff;
}

.light-mode {
  --bg: #dce8ff;
  --text: #0b0b1a;
  --card: #ffffff;
  --accent: #4a6bff;
}

/* NAV */
nav {
  background: var(--accent);
  padding: 15px;
  text-align: center;
  position: sticky;
  top: 0;
  z-index: 10;
}
nav a {
  color: white;
  margin: 0 15px;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
}
nav a:hover {
  color: #ffe3ff;
}

/* HEADER */
header {
  text-align: center;
  padding: 50px 20px;
  background: linear-gradient(135deg, #6b4bff, #c08bff);
  color: white;
}
header img {
  width: 120px;
  animation: float 3s infinite ease-in-out;
}

/* FLOAT ANIMATION */
@keyframes float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
  100% { transform: translateY(0); }
}

/* CONTAINER */
.container {
  max-width: 900px;
  margin: 20px auto;
  padding: 20px;
}

/* CARDS */
.card {
  background: var(--card);
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 20px;
  border: 1px solid #2c234a;
}

/* TAGS */
.tag {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #2b214a;
  margin-right: 5px;
  font-size: 0.8rem;
}

/* GRID */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 15px;
}

/* MODE TOGGLE */
#modeToggle {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: var(--accent);
  border: none;
  padding: 12px;
  border-radius: 50%;
  cursor: pointer;
  color: white;
  font-size: 20px;
}
