/* RESET */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: "Open Sans", sans-serif;
  overflow-x: hidden;
  position: relative;
  background: #fffaf7;
  transition: background 0.3s, color 0.3s;
}

/* === DARK MODE === */
body.dark-mode {
  background: #1c1c1c;
  color: #f2f2f2;
}

body.dark-mode .navbar {
  background: #333;
  border-bottom: 4px solid #555;
}

body.dark-mode .navbar a {
  color: #f2f2f2;
  text-shadow: 2px 2px #000;
}

body.dark-mode .navbar a:hover {
  color: #ffd66d;
  text-shadow: 0 0 8px #fff2e1, 0 0 15px #ffae73;
}

body.dark-mode .card {
  background: #2a2a2a;
  border: 2px solid #555;
  box-shadow: 5px 5px 0 #111;
}

body.dark-mode .card h2 {
  color: #ffd6a5;
}

body.dark-mode .card ul li::before {
  color: #ffcc88;
}

/* Title & Subtitle adjustments for dark mode */
body.dark-mode .title {
  color: #ffcc88;
  text-shadow: 0 0 6px #ffae73, 0 0 12px #ffd966;
}

body.dark-mode .subtitle {
  color: #ddd;
  text-shadow: 0 0 5px #aaa, 0 0 8px #555;
}

/* make stars softer for dark mode */
body.dark-mode .star-bg {
  background: radial-gradient(circle, #ffffff 1.5px, transparent 2px),
              radial-gradient(circle, #ffd966 2px, transparent 2px),
              radial-gradient(circle, #aaddff 1.5px, transparent 2px);
  background-size: 60px 60px, 70px 70px, 100px 100px;
  opacity: 0.4;
}

/* === STAR BACKGROUND === */
.star-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, #ffb6c1 2px, transparent 2px),
              radial-gradient(circle, #87cefa 2px, transparent 2px),
              radial-gradient(circle, #fff68f 2px, transparent 2px);
  background-size: 60px 60px, 70px 70px, 100px 100px;
  animation: moveStars 10s linear infinite;
  z-index: -2;
}
@keyframes moveStars {
  0% { transform: translate(0,0); }
  100% { transform: translate(-300px,-300px); }
}

/* === FLOATING GIFS === */
.floating-gif {
  position: absolute;
  width: 70px;
  z-index: 1;
  animation: floatAround 12s linear infinite;
}
@keyframes floatAround {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(100px, 50px) rotate(20deg); }
  50% { transform: translate(200px, 100px) rotate(-20deg); }
  75% { transform: translate(100px, 150px) rotate(10deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* === NAVIGATION === */
.navbar { 
  background: #8c5c36; padding: 10px; border-bottom: 4px solid #d99873;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3); text-align: center; 
}
.navbar ul { list-style: none; }
.navbar li { display: inline-block; margin: 0 15px; }
.navbar a { font-family: "Press Start 2P", monospace; color: #fff; text-decoration: none; text-shadow: 2px 2px #5a2c1d; transition: color 0.3s ease; }
.navbar a:hover { color: #ffd66d; text-shadow: 0 0 8px #fff2e1, 0 0 15px #d99873; }

/* === CONTENT === */
.about-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 20px;
  text-align: center;
}
.title { font-family: "Press Start 2P", monospace; font-size: 22px; color: #a05a4a; margin-bottom: 8px; }
.subtitle { font-size: 14px; margin-bottom: 40px; color: #6b4a4a; }

/* === GRID LAYOUT === */
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; justify-items: center; }

/* === CARD STYLE === */
.card {
  position: relative;
  background: #fff;
  border: 2px solid #e3b291;
  border-radius: 10px;
  padding: 25px;
  box-shadow: 5px 5px 0 #c47a4a;
  transition: transform 0.2s ease, background 0.3s, border 0.3s, box-shadow 0.3s;
  text-align: left;
  min-height: 150px;
}
.card:hover { transform: translateY(-6px) rotate(-1deg); }

.card h2 { font-family: "Press Start 2P", monospace; font-size: 14px; margin-bottom: 10px; color: #a05a4a; }
.card p, .card ul { font-family: "Open Sans", sans-serif; font-size: 14px; line-height: 1.5; margin: 10px 0; }
.card ul { list-style: none; padding: 0; }
.card ul li::before { content: "✦ "; color: #ff88aa; }

/* === CARD SIZES === */
.card.big { grid-column: span 2; min-height: 200px; }
.card.medium { min-height: 180px; }
.card.small { min-height: 140px; }

/* === STICKERS/GIFS === */
.sticker { position: absolute; width: 80px; z-index: 2; }
.sticker.top-left { top: -15px; left: -15px; width: 100px; }
.sticker.top-right { top: -15px; right: -15px; width: 90px; }
.sticker.bottom-left { bottom: -15px; left: -15px; width: 90px; }
.sticker.bottom-right { bottom: -15px; right: -15px; width: 80px; }

/* === DARK MODE BUTTON === */
#darkModeToggle {
  position: fixed;
  top: 15px;
  right: 15px;
  padding: 8px 12px;
  font-family: "Press Start 2P", monospace;
  font-size: 10px;
  border: none;
  border-radius: 6px;
  background: #444;
  color: white;
  cursor: pointer;
  z-index: 10;
  transition: background 0.3s;
}
#darkModeToggle:hover { background: #666; }
