:root {
	--bg: #f4f5f7;
	--card: #ffffff;
	--text: #1d1f23;
	--muted: #5b6070;
	--border: #d5d8de;
	--accent: #3a5bd9;
	--accent-text: #ffffff;
	--error-bg: #fdecec;
	--error-text: #9b1c1c;
	color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: #15171b;
		--card: #1f2228;
		--text: #e8eaee;
		--muted: #a2a7b3;
		--border: #3a3f48;
		--accent: #7f9bff;
		--accent-text: #0f1320;
		--error-bg: #3a1e1e;
		--error-text: #ffb4b4;
	}
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 16px;
	background: var(--bg);
	color: var(--text);
	font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.card {
	width: 100%;
	max-width: 380px;
	padding: 28px 24px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 14px;
}

h1 {
	margin: 0 0 20px;
	font-size: 1.5rem;
}

label {
	display: block;
	margin: 14px 0 6px;
	color: var(--muted);
	font-size: 0.9rem;
}

input {
	width: 100%;
	padding: 12px;
	font: inherit;
	color: inherit;
	background: transparent;
	border: 1px solid var(--border);
	border-radius: 10px;
}

input:focus {
	outline: 2px solid var(--accent);
	outline-offset: 1px;
}

button {
	width: 100%;
	margin-top: 22px;
	padding: 12px;
	font: inherit;
	font-weight: 600;
	color: var(--accent-text);
	background: var(--accent);
	border: 0;
	border-radius: 10px;
	cursor: pointer;
}

.message {
	margin: 0 0 8px;
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--bg);
}

.message.error {
	background: var(--error-bg);
	color: var(--error-text);
}
