/* CSS 1 */
/* (Version) By sync - Boulette (V6.0.0)
	Jeu du Serpent (Snake)
*/
/* Définition de la police pour l'esthétique */
	@import url('swap/swap.css2?family=Press+Start+2P&display=swap');

:root {
	--game-size: 400px; /* Taille de base du jeu */
	--bg-color: #0d1117; /* Fond sombre */
	--snake-color: #2ecc71; /* Vert du serpent */
	--food-color: #e74c3c; /* Rouge de la nourriture */
}

body {
	font-family: 'Press Start 2P', monospace;
	background-color: var(--bg-color);
	color: #ecf0f1; /* Texte clair */
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh; min-height: 100svh; min-height: 100dvh;
	padding: 25px;
	/* Ajout de position: relative pour que le message fixé en bas puisse se positionner correctement
	position: relative; */
}

html, body {
	/* Empêche la sélection de texte */
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.game-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #161b22;
	padding: 20px;
	border-radius: 12px;
	box-shadow: 0 0 40px rgba(46, 204, 113, 0.3);
	width: 440px;
	max-width: 95vw; /* Empêche le débordement sur petit écran */
	margin: auto; /* Centre le bloc verticalement si besoin */
}

/* Fixer la hauteur du bloc message pour éviter qu'il ne pousse le jeu en s'activant */
#messageBox {
	min-height: 40px; /* Réserve l'espace même s'il est vide */
	margin-top: 10px;
}
.game-container {
	width: 440px;
}

h1 {
	text-align: center;
	font-size: 1.25rem;
	margin-bottom: 20px;
	color: var(--snake-color);
	text-shadow: 0 0 5px var(--snake-color);
}

#gameCanvas {
	border: 5px solid var(--snake-color);
	background-color: #22272e;
	border-radius: 8px;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.5) inset;
	touch-action: none; /* Empêche le défilement lors du glissement */
}

#score, #messageBox {
	margin-top: 15px;
	font-size: 0.8rem;
	text-align: center;
}

.control-buttons {
	display: grid;
	grid-template-areas: ". up ." "left center right" ". down .";
	gap: 10px;
	margin-top: 20px;
	width: 150px; /* Taille fixe pour les contrôles sur mobile */
}

/* ?? CORRECTION #2 : Application des événements tactiles aux boutons de direction */
.control-buttons button {
	background-color: #34495e;
	color: #ecf0f1;
	padding: 10px;
	border-radius: 8px;
	font-size: 0.7rem;
	cursor: pointer;
	transition: background-color 0.2s, transform 0.1s;
	box-shadow: 0 4px 0 #2c3e50;
	/* L'attribut onclick a été retiré de l'HTML et sera géré par JavaScript (touchstart/touchend) */
}

.control-buttons button:hover {
	background-color: #3b536b;
}

.control-buttons button:active {
	box-shadow: 0 1px 0 #2c3e50;
	transform: translateY(3px);
}

/* Attribution des zones de grille */
.up-btn { grid-area: up;}
.left-btn { grid-area: left;}
.right-btn { grid-area: right;}
.down-btn { grid-area: down;}
 /*
@media (min-width: 640px) {
	.control-buttons {
	display: none; Masque les boutons sur les grands écrans (utilisation du clavier)
	}
} */
/* Afficher les boutons uniquement sur mobile/tablette */
@media (max-width: 768px) {
	.control-buttons {
		display: grid; /* Afficher les boutons sur écran mobile/tablette */
		grid-template-areas: ". up ." "left center right" ". down .";
		gap: 10px;
		margin-top: 20px;
		width: 150px; /* Taille fixe pour les contrôles sur mobile */
		justify-content: center;
	}
}

/* Cacher les boutons sur les écrans plus grands */
@media (min-width: 769px) {
	.control-buttons {
		display: none; /* Masquer les boutons sur les écrans larges */
	}
}

/* Style de la boîte de message Game Over */
#messageBox.active {
	padding: 15px;
	border: 2px solid var(--food-color);
	background-color: rgba(231, 76, 60, 0.1);
	border-radius: 8px;
}

/* mode Pause(css) */
@keyframes blink { 50% { opacity: 0;} 100% { opacity: 1;}}
.blink-pause { animation: blink 1s steps(1) infinite;}

/* Cache les boutons par défaut sur PC */
.control-buttons { display: none; /* Cacher par défaut */ justify-content: center; margin-top: 20px;}
.control-buttons button { width: 50px; height: 50px; font-size: 20px; margin: 5px; background-color: #2ecc71; color: white; border: none; border-radius: 5px; cursor: pointer;}
.control-buttons button:active { background-color: #27ae60;}
/* Message pour iOS (optionnel, c'est juste un message d'info) */
#iosInfo { font-size: 18px; color: #fff; background-color: rgba(0, 0, 0, 0.7); padding: 10px; position: absolute; top: 20px; left: 50%; transform: translateX(-50%); text-align: center; border-radius: 5px;}
.hidden { opacity: 0; transition: opacity 1s ease-in-out;}

/* --- NOUVEAU : BOUTONS START / PAUSE --- */
.action-btn {
	font-family: 'Press Start 2P', monospace;
	background-color: #161b22;
	color: #2ecc71;
	border: 2px solid #2ecc71;
	padding: 7px 9px;
	font-size: 0.5rem;
	cursor: pointer;
	border-radius: 5px;
	box-shadow: 0 4px 0 #1b7a43;
	transition: all 0.1s;
	margin: 5px;
}

.action-btn:hover {
	background-color: #34495e;
}

.action-btn:active {
	transform: translateY(3px);
	box-shadow: 0 1px 0 #1b7a43;
}

/* FIN CSS */