:root {
	color-scheme: light;
	--background: #f7f4ef;
	--surface: #ffffff;
	--text: #25302b;
	--muted: #69746f;
	--primary: #6f5bd7;
	--primary-strong: #5744b8;
	--border: #e5ded5;
	--success-bg: #eaf8ef;
	--success: #2f8f58;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--background);
	color: var(--text);
	font-family:
		Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
		sans-serif;
	line-height: 1.5;
}

.page {
	align-items: center;
	display: flex;
	min-height: 100vh;
	padding: 32px 18px;
}

.shell {
	margin: 0 auto;
	max-width: 680px;
	width: 100%;
}

.brand {
	align-items: center;
	display: flex;
	gap: 12px;
	margin-bottom: 28px;
}

.mark {
	align-items: center;
	background: #f0ebff;
	border-radius: 18px;
	color: var(--primary);
	display: inline-flex;
	font-size: 26px;
	font-weight: 800;
	height: 54px;
	justify-content: center;
	width: 54px;
}

.brand-name {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0;
}

.brand-caption {
	color: var(--muted);
	margin: 0;
}

.panel {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 18px;
	box-shadow: 0 16px 48px rgba(37, 48, 43, 0.08);
	padding: 28px;
}

.status-icon {
	align-items: center;
	background: var(--success-bg);
	border-radius: 999px;
	color: var(--success);
	display: inline-flex;
	font-size: 26px;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	margin-bottom: 18px;
	width: 48px;
}

h1 {
	font-size: clamp(30px, 8vw, 42px);
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 0 14px;
}

p {
	color: var(--muted);
	font-size: 17px;
	margin: 0;
}

.actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.button {
	align-items: center;
	border-radius: 14px;
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 48px;
	padding: 0 18px;
	text-decoration: none;
}

.button-primary {
	background: var(--primary);
	color: #ffffff;
}

.button-primary:focus,
.button-primary:hover {
	background: var(--primary-strong);
}

.button-secondary {
	border: 1px solid var(--border);
	color: var(--text);
}

.mobile-only {
	display: none;
}

.note {
	font-size: 14px;
	margin-top: 18px;
}

.future-list {
	display: grid;
	gap: 10px;
	margin-top: 22px;
}

.future-item {
	border: 1px solid var(--border);
	border-radius: 14px;
	color: var(--muted);
	padding: 14px;
}

@media (hover: none), (pointer: coarse), (max-width: 720px) {
	.mobile-only {
		display: inline-flex;
	}
}

@media (max-width: 520px) {
	.panel {
		padding: 22px;
	}

	.actions {
		flex-direction: column;
	}

	.button {
		width: 100%;
	}
}
