* { margin: 0; padding: 0; box-sizing: border-box; }
body, html { height: 100%; font-family: "Poppins", sans-serif; overflow-x: hidden; }

#bg-canvas {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: -1;
}

/* THEME VARIABLES */
body[data-theme="dark"] {
  --bg-color: #121212;
  --text-color: #fff;
  --card-bg: rgba(255, 255, 255, 0.08);
  --nav-bg: rgba(20, 20, 20, 0.95);
  --hover-color: #00bcd4;
}
body[data-theme="light"] {
  --bg-color: #f9f9f9;
  --text-color: #111;
  --card-bg: rgba(0, 0, 0, 0.05);
  --nav-bg: #fff;
  --hover-color: #0077b6;
}

/* Apply theme */
body {
  background: var(--bg-color);
  color: var(--text-color);
  transition: background 0.3s, color 0.3s;
}

/* Header */
header {
  padding: 20px 15px;
  text-align: center;
  position: relative;
}
header h1 { font-size: 2rem; margin-bottom: 5px; }
header p { font-size: 0.9rem; opacity: 0.85; }

/* Theme toggle button */
#theme-toggle {
  position: absolute;
  top: 15px; right: 15px;
  background: none;
  border: none;
  font-size: 1.4rem;
  cursor: pointer;
  color: var(--text-color);
}

/* Top navbar (Desktop) */
#top-navbar {
  text-align: center;
  margin: 15px 0;
}
#top-navbar a {
  margin: 0 10px;
  text-decoration: none;
  color: var(--text-color);
  font-weight: 500;
  transition: color 0.3s;
}
#top-navbar a:hover { color: var(--hover-color); }

/* Sidebar (Mobile/Tablet) */
#menu-toggle {
  position: absolute;
  top: 15px; left: 15px;
  font-size: 1.6rem;
  background: none;
  border: none;
  color: var(--text-color);
  cursor: pointer;
  display: none;
}

#sidebar {
  position: fixed;
  top: 0; left: -260px;
  width: 250px; height: 100%;
  background: var(--nav-bg);
  box-shadow: 5px 0 15px rgba(0,0,0,0.5);
  padding-top: 60px;
  display: flex;
  flex-direction: column;
  transition: left 0.3s ease;
  z-index: 1000;
}
#sidebar.open { left: 0; }
#sidebar a {
  padding: 12px 20px;
  text-decoration: none;
  color: var(--text-color);
  font-weight: 500;
  transition: background 0.3s;
}
#sidebar a:hover { background: var(--hover-color); color: #fff; }
#close-sidebar {
  position: absolute;
  top: 15px; right: 15px;
  font-size: 1.8rem;
  background: none;
  border: none;
  color: var(--text-color);
  cursor: pointer;
}

/* Container + sections */
.container { width: 92%; margin: 0 auto; }
section {
  background: var(--card-bg);
  border-radius: 12px;
  padding: 20px;
  margin: 25px 0;
  backdrop-filter: blur(8px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.25);
  transition: background 0.3s;
}
section h2 {
  margin-bottom: 15px;
  font-size: 1.5rem;
  border-bottom: 1.5px solid rgba(255,255,255,0.2);
  padding-bottom: 6px;
}

/* Footer */
footer { text-align: center; padding: 15px; opacity: 0.7; font-size: 0.8rem; }
a { color: var(--text-color); }

/* Responsive */
@media (max-width: 992px) {
  #top-navbar { display: none; }
  #menu-toggle { display: block; }
}
@media (max-width: 768px) {
  header h1 { font-size: 1.6rem; }
  header p { font-size: 0.8rem; }
  section h2 { font-size: 1.3rem; }
}




