.ckr-reading-progress {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100001;
	width: 100%;
	height: 4px;
	pointer-events: none;
	background: rgba(11, 32, 65, .08);
}

.ckr-reading-progress > span {
	display: block;
	width: 100%;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	background: linear-gradient(90deg, var(--ckr-primary, #08aaa0), var(--ckr-secondary, #175cff));
	transition: transform 80ms linear;
}

.ckr-smart-toc,
.ckr-smart-checklist,
.ckr-smart-recent {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 18px;
	padding: 18px 20px;
	border: 1px solid rgba(8, 170, 160, .2);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 5px 22px rgba(15, 36, 64, .045);
}

.ckr-smart-toc h2,
.ckr-smart-checklist h2,
.ckr-smart-recent h2 {
	margin: 0 0 12px;
	font-size: clamp(1.05rem, 2vw, 1.28rem);
	line-height: 1.3;
}

.ckr-smart-toc ol {
	margin: 0;
	padding-left: 21px;
}

.ckr-smart-toc ol ol {
	margin-top: 6px;
	padding-left: 22px;
}

.ckr-smart-toc li + li {
	margin-top: 7px;
}

.ckr-smart-toc a {
	color: var(--ckr-ink, #0b2041);
	font-weight: 650;
	text-decoration: none;
}

.ckr-smart-toc ol ol a {
	font-size: .94em;
	font-weight: 500;
	color: var(--ckr-muted, #607089);
}

.ckr-smart-toc a:hover,
.ckr-smart-toc a:focus-visible {
	color: var(--ckr-primary, #08aaa0);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ckr-game-content h2[id^="ckr-section-"],
.ckr-game-content h3[id^="ckr-section-"] {
	scroll-margin-top: 92px;
}

.ckr-smart-section-head {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 13px;
	align-items: start;
	margin-bottom: 15px;
}

.ckr-smart-section-head h2 {
	margin-bottom: 4px;
}

.ckr-smart-section-head p {
	margin: 0;
	color: var(--ckr-muted, #607089);
	font-size: .94rem;
}

.ckr-smart-shield {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 14px 14px 18px 18px;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 800;
	background: linear-gradient(145deg, var(--ckr-primary, #08aaa0), #087dca);
	box-shadow: 0 6px 16px rgba(8, 170, 160, .2);
}

.ckr-smart-checklist-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.ckr-smart-checklist-list li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 1px 8px;
	align-items: center;
	min-width: 0;
	padding: 10px 11px;
	border: 1px solid #e6edf1;
	border-radius: 10px;
	background: #fbfdfd;
}

.ckr-smart-checklist-list li > span {
	grid-row: 1 / 3;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	color: #fff;
	font-size: .75rem;
	background: var(--ckr-primary, #08aaa0);
}

.ckr-smart-checklist-list b,
.ckr-smart-checklist-list small {
	min-width: 0;
	overflow-wrap: anywhere;
}

.ckr-smart-checklist-list b {
	font-size: .88rem;
}

.ckr-smart-checklist-list small {
	color: var(--ckr-muted, #607089);
	font-size: .78rem;
}

.ckr-smart-download-jump {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 8px 15px;
	border: 1px solid var(--ckr-primary, #08aaa0);
	border-radius: 9px;
	color: var(--ckr-primary, #087f78);
	font-weight: 750;
	text-decoration: none;
}

.ckr-smart-download-jump:hover,
.ckr-smart-download-jump:focus-visible {
	color: #fff;
	background: var(--ckr-primary, #08aaa0);
}

.ckr-smart-recent-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.ckr-smart-recent-item {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	min-width: 0;
	padding: 8px;
	border: 1px solid #e3eaef;
	border-radius: 11px;
	color: var(--ckr-ink, #0b2041);
	font-weight: 700;
	text-decoration: none;
	background: #fff;
}

.ckr-smart-recent-item-no-image {
	grid-template-columns: minmax(0, 1fr);
}

.ckr-smart-recent-item img {
	display: block;
	width: 52px;
	height: 52px;
	border-radius: 10px;
	object-fit: cover;
	background: #f0f5f6;
}

.ckr-smart-recent-item span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.ckr-smart-recent-item:hover,
.ckr-smart-recent-item:focus-visible {
	border-color: var(--ckr-primary, #08aaa0);
	color: var(--ckr-primary, #087f78);
}

@media (max-width: 600px) {
	.ckr-reading-progress {
		height: 3px;
	}

	.ckr-smart-toc,
	.ckr-smart-checklist,
	.ckr-smart-recent {
		margin-bottom: 12px;
		padding: 15px;
		border-radius: 12px;
	}

	.ckr-smart-checklist-list,
	.ckr-smart-recent-list {
		grid-template-columns: 1fr;
	}

	.ckr-smart-download-jump {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ckr-reading-progress > span {
		transition: none;
	}
}
