body {
	margin: 0;
	padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

* {
	box-sizing: border-box;
}

/* Mobile optimizations */
@media (max-width: 480px) {
	html {
		font-size: 14px;
	}
	
	body {
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
		margin: 0;
		padding: 0;
	}
	
	#root {
		min-height: 100vh;
		display: flex;
		flex-direction: column;
	}
}

/* Touch-friendly interactions */
button, input, select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/* Prevent zoom on input focus on iOS */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	select,
	textarea,
	input {
		font-size: 16px;
	}
}

/* Smooth scrolling for mobile */
html {
	scroll-behavior: smooth;
}

/* Better focus indicators for accessibility */
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline: 2px solid #6366f1;
	outline-offset: 2px;
}

/* Disable hover effects on touch devices */
@media (hover: none) and (pointer: coarse) {
	*:hover {
		transform: none !important;
		box-shadow: none !important;
	}
}
