:root {
	--bg: #f4f5f7;
	--card: #ffffff;
	--text: #1c2330;
	--muted: #5a6475;
	--border: #d7dbe2;
	--accent: #0b6bcb;
	--accent-text: #ffffff;
	--warn-bg: #fff4d6;
	--warn-text: #5c4300;
	--error: #b42318;
	color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: #10141b;
		--card: #1a2029;
		--text: #e6e9ef;
		--muted: #9aa4b5;
		--border: #333c4a;
		--accent: #4c9ef0;
		--accent-text: #0b1220;
		--warn-bg: #3a2f10;
		--warn-text: #f5dc9a;
		--error: #f97066;
	}
}

* { 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: 480px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 28px;
}

.brand {
	color: var(--muted);
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

h1 { margin: 4px 0 16px; font-size: 22px; }
p { margin: 0 0 12px; }
.note { color: var(--muted); font-size: 14px; }

label { display: block; margin: 16px 0 6px; font-weight: 600; font-size: 14px; }

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

textarea {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 14px;
	resize: vertical;
	white-space: pre;
}

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

button:disabled { opacity: .6; cursor: progress; }
input:focus-visible, textarea:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.message { margin: 8px 0 0; color: var(--error); font-size: 14px; }

.warning {
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--warn-bg);
	color: var(--warn-text);
	font-size: 14px;
}
