:root {
	color-scheme: dark;
	--bg: #050505;
	--surface: #0d0d0f;
	--surface-alt: #111114;
	--surface-2: #121216;
	--text: rgba(255, 255, 255, 0.94);
	--muted: rgba(255, 255, 255, 0.74);
	--border: rgba(255, 255, 255, 0.12);
	--border-strong: rgba(255, 255, 255, 0.18);
	--shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
	--radius: 10px;
	--radius-lg: 12px;
	--focus: rgba(147, 197, 253, 0.45);
	--focus-outer: rgba(147, 197, 253, 0.22);
	--link: #93c5fd;
	--danger-bg: rgba(248, 113, 113, 0.12);
	--danger-border: rgba(248, 113, 113, 0.28);
	--button-bg: rgba(255, 255, 255, 0.92);
	--button-text: #070707;
	--button-bg-hover: rgba(255, 255, 255, 0.98);
	--awesome-font: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap");

* { box-sizing: border-box; }

html, body { height: 100%; }

body {
	margin: 0;
	font-family: var(--awesome-font);
	font-size: 18px;
	line-height: 1.65;
	color: var(--text);
	background: var(--bg);
}

h1, h2, h3 {
	margin: 0;
	font-weight: 750;
	letter-spacing: -0.2px;
}

.eyebrow,
.kicker {
	margin: 0 0 10px;
	font-size: 12px;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--muted);
}

.prose {
	line-height: 1.78;
	max-width: 72ch;
}

.measure {
	max-width: 72ch;
}

.prose p {
	margin: 0 0 14px;
}

.prose ul {
	margin: 10px 0 14px;
	padding-left: 18px;
	color: var(--muted);
}

.prose li {
	margin: 6px 0;
}

a {
	color: var(--link);
	text-decoration: none;
}

a:hover { text-decoration: underline; }

.link {
	color: var(--link);
	font-weight: 650;
}

a.button,
a.button:hover {
	text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
	outline: none;
	box-shadow:
		0 0 0 3px var(--bg),
		0 0 0 6px var(--focus),
		0 0 0 10px var(--focus-outer);
	border-radius: 8px;
}

.wrap {
	max-width: 1040px;
	margin: 0 auto;
	padding: 24px clamp(18px, 3vw, 40px) 64px;
}

.topbar {
	position: sticky;
	top: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px clamp(18px, 3vw, 40px);
	background: rgba(5, 5, 5, 0.86);
	border-bottom: 1px solid var(--border);
}

.topbar__left,
.topbar__right {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

/* Larger tap targets in navigation */
.topbar .link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 10px;
	border-radius: 10px;
}

.topbar .link:hover {
	text-decoration: none;
	background: rgba(255, 255, 255, 0.04);
}

.brand {
	font-weight: 750;
	letter-spacing: 0.2px;
}

.pill {
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid var(--border);
	background: rgba(255, 255, 255, 0.04);
	font-size: 14px;
	color: var(--muted);
	text-transform: lowercase;
}

.user {
	font-size: 15px;
	color: var(--muted);
}

.alerts {
	display: grid;
	gap: 10px;
	margin: 0 0 18px;
}

.alert {
	padding: 12px 12px;
	border-radius: var(--radius-lg);
	background: var(--danger-bg);
	border: 1px solid var(--danger-border);
	font-size: 16px;
}

.card,
.panel {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 18px;
	box-shadow: var(--shadow);
}

.button,
.login-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 11px 14px;
	border-radius: var(--radius-lg);
	border: 1px solid var(--border-strong);
	background: var(--button-bg);
	color: var(--button-text);
	font-size: 16px;
	font-weight: 750;
	letter-spacing: 0.1px;
	cursor: pointer;
	transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.button:hover,
.login-trigger:hover {
	background: var(--button-bg-hover);
	transform: translateY(-1px);
}

.button:active,
.login-trigger:active { transform: translateY(0); }

.button--secondary {
	background: transparent;
	color: var(--text);
	border-color: var(--border);
}

.button--secondary:hover {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.14);
}

.button--danger {
	background: rgba(248, 113, 113, 0.10);
	color: var(--text);
	border-color: rgba(248, 113, 113, 0.26);
}

.button--compact {
	padding: 8px 10px;
	font-size: 15px;
}

.button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.form {
	display: grid;
	gap: 12px;
}

.form .button { width: 100%; }

.field { display: grid; gap: 6px; }

.label {
	font-size: 14px;
	color: var(--muted);
}

.input {
	width: 100%;
	padding: 11px 12px;
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: var(--surface-2);
	color: var(--text);
	font-size: 16px;
	outline: none;
}

.input:focus {
	border-color: rgba(147, 197, 253, 0.35);
	box-shadow: 0 0 0 4px var(--focus);
}

.divider {
	height: 1px;
	background: var(--border);
	margin: 18px 0;
}

.muted { color: var(--muted); }

/* Footer */
.footer {
	margin-top: 52px;
	padding: 22px 0 44px;
	color: rgba(255, 255, 255, 0.70);
}

.footer__inner {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 clamp(18px, 3vw, 40px);
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

@media (min-width: 860px) {
	.footer__inner { grid-template-columns: 1.2fr 1.8fr; }
}

.footer__logo {
	font-weight: 750;
	letter-spacing: 0.2px;
	color: rgba(255, 255, 255, 0.82);
}

.footer__tagline {
	margin-top: 6px;
	max-width: 44ch;
	line-height: 1.6;
	font-size: 14px;
}

.footer__links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

@media (min-width: 860px) {
	.footer__links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.footer__heading {
	font-size: 12px;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.56);
	margin-bottom: 10px;
}

.footer__link {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 6px;
	margin: 0 0 6px;
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	border-radius: 10px;
}

.footer__link:hover {
	color: rgba(255, 255, 255, 0.90);
	text-decoration: none;
	background: rgba(255, 255, 255, 0.03);
}
