/* Thème psychédélique rose/cyan */
body.psy {
  background: linear-gradient(135deg, #ff00cc 0%, #00ffff 100%);
  color: #fff;
  animation: bgpsy 2s linear infinite alternate;
}
@keyframes bgpsy {
  0% { filter: hue-rotate(0deg); }
  100% { filter: hue-rotate(360deg); }
}
body.psy nav {
  background: #ff00cc;
  box-shadow: 0 0 20px #00ffff, 0 0 40px #ff00cc;
}
body.psy main {
  background: rgba(0,255,255,0.2);
  color: #fff;
  border: 2px solid #ff00cc;
  box-shadow: 0 0 20px #ff00cc, 0 0 40px #00ffff;
}
body.psy a {
  color: #fff600;
  text-shadow: 0 0 5px #00ffff, 0 0 10px #ff00cc;
}
body.psy .btn-projet {
  background: #ff00cc;
  color: #00ffff;
  border: 2px solid #fff600;
  box-shadow: 0 0 10px #00ffff, 0 0 20px #ff00cc;
}
body.psy .btn-projet:hover {
  background: #00ffff;
  color: #ff00cc;
  border: 2px solid #fff600;
}
body.psy h1, body.psy h2, body.psy h3 {
  color: #fff600;
  text-shadow: 0 0 10px #ff00cc, 0 0 20px #00ffff;
}
body.dark .btn-projet {
  background: #8ab4f8;
  color: #181a1b;
}
body.dark .btn-projet:hover {
  background: #b3d3ff;
}
/* Bouton projet */
.btn-projet {
  display: inline-block;
  margin-top: 1em;
  padding: 0.7em 2em;
  background: #0055a5;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1em;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}
.btn-projet:hover {
  background: #003d7a;
}
/* Centrage des titres */
h1, h2, h3 {
  text-align: center;
}
/* Mode sombre */
body.dark {
  background: #181a1b;
  color: #e0e0e0;
}
body.dark nav {
  background: #23272a;
}
body.dark main {
  background: #23272a;
  color: #e0e0e0;
}
body.dark a {
  color: #8ab4f8;
}
body.dark form input, body.dark form textarea {
  background: #23272a;
  color: #e0e0e0;
  border: 1px solid #444;
}
body.dark form button {
  background: #5865F2;
}
body.dark h1, body.dark h2, body.dark h3 {
  color: #8ab4f8;
}
body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  background: #f7f7f7;
  color: #222;
}
nav {
  background: #222;
  padding: 1em 0;
}
nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 2em;
  margin: 0;
  padding: 0;
}
nav a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
}
nav a:hover {
  text-decoration: underline;
}
main {
  max-width: 800px;
  margin: 2em auto;
  background: #fff;
  padding: 2em;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
h1 {
  color: #0055a5;
}
form label {
  display: block;
  margin-top: 1em;
}
form input, form textarea {
  width: 100%;
  padding: 0.5em;
  margin-top: 0.5em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1em;
}
form button {
  margin-top: 1em;
  padding: 0.7em 2em;
  background: #0055a5;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1em;
  cursor: pointer;
}
form button:hover {
  background: #003d7a;
}
#form-message {
  margin-top: 1em;
  color: green;
  font-weight: bold;
}

textarea {
  resize: none;
}