:root{

	--ace-primary:#007AFF;
	--ace-success:#34C759;
	--ace-warning:#FF9500;
	--ace-danger:#FF3B30;

	--ace-background:#F5F5F7;
	--ace-surface:#FFFFFF;

	--ace-text:#1D1D1F;
	--ace-secondary:#6E6E73;

	--ace-border:#E5E5EA;

	--ace-radius:24px;

	--ace-shadow:
		0 10px 30px rgba(0,0,0,.08);

	--ace-transition:.25s;

	--ace-max-width:860px;

}

body{

	background:var(--ace-background);

	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"SF Pro Display",
		"Segoe UI",
		sans-serif;

	color:var(--ace-text);

}

.ace-card{

	background:#fff;

	border-radius:24px;

	border:1px solid var(--ace-border);

	box-shadow:var(--ace-shadow);

	padding:32px;

	max-width:var(--ace-max-width);

	margin:40px auto;

	transition:var(--ace-transition);

}

.ace-card:hover{

	transform:translateY(-4px);

}

.ace-button{

	display:inline-flex;

	align-items:center;

	justify-content:center;

	padding:16px 28px;

	background:var(--ace-primary);

	color:#fff;

	border:none;

	border-radius:18px;

	font-size:17px;

	font-weight:600;

	cursor:pointer;

	text-decoration:none;

	transition:.2s;

}

.ace-button:hover{

	transform:scale(.98);

	opacity:.92;

}

.ace-title{

	font-size:38px;

	font-weight:700;

	margin:0 0 10px;

}

.ace-subtitle{

	font-size:18px;

	color:var(--ace-secondary);

	margin-bottom:30px;

}

.ace-heading{

	font-size:26px;

	font-weight:600;

	margin-bottom:20px;

}

/* ==================================================
   ACE PROGRESS
================================================== */

.ace-progress{

	display:flex;

	flex-direction:column;

	gap:12px;

}

.ace-progress-header{

	display:flex;

	align-items:center;

	justify-content:space-between;

}

.ace-progress-label{

	font-size:.95rem;

	font-weight:600;

	color:var(--ace-text);

}

.ace-progress-percent{

	font-size:.85rem;

	font-weight:700;

	color:var(--ace-primary);

}

.ace-progress-track{

	width:100%;

	height:10px;

	background:var(--ace-border);

	border-radius:999px;

	overflow:hidden;

}

.ace-progress-bar{

	height:100%;

	background:var(--ace-primary);

	border-radius:999px;

	transition:width .3s ease;

}