.mos-book-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 92px;
	border: 1px dashed #d9e0f2;
	border-radius: 18px;
	background: linear-gradient(135deg, #fbfcff, #f5f7ff);
	color: #65718c;
	font-size: 10px;
}
.mos-book-loading i {
	width: 18px;
	height: 18px;
	border: 2px solid #dce4fb;
	border-top-color: #315bea;
	border-radius: 50%;
	animation: mosBookSpin .8s linear infinite;
}
.mos-book-guidance {
	margin-top: 2px;
	border: 1px solid #e4e9f6;
	border-radius: 24px;
	padding: 20px;
	background: linear-gradient(145deg, #fff 0%, #f8faff 100%);
	box-shadow: 0 12px 32px rgba(50, 67, 110, .07);
}
.mos-book-guidance > header small,
.mos-book-related > header small {
	color: #e8327c;
	font-size: 9px;
	font-weight: 800;
}
.mos-book-guidance > header h2,
.mos-book-related > header h2 {
	margin: 3px 0 15px;
	font-size: 15px;
}
.mos-book-guidance-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.mos-book-guidance-grid article {
	position: relative;
	border: 1px solid #e8ecf6;
	border-radius: 17px;
	padding: 14px;
	background: #fff;
}
.mos-book-guidance-grid article > span {
	display: grid;
	place-items: center;
	width: 35px;
	height: 35px;
	border-radius: 11px;
	background: #f2f5ff;
}
.mos-book-guidance-grid article > span .ic { width: 20px; height: 20px; }
.mos-book-guidance-grid h3 { margin: 9px 0; font-size: 11px; }
.mos-book-guidance-grid p,
.mos-book-guidance-grid li { color: #5d6881; font-size: 9px; line-height: 1.95; }
.mos-book-guidance-grid ol,
.mos-book-guidance-grid ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.mos-book-guidance-grid ol li { display: grid; grid-template-columns: 22px 1fr; gap: 7px; align-items: start; }
.mos-book-guidance-grid ol i {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 8px;
	background: #edf2ff;
	color: #315bea;
	font-style: normal;
	font-weight: 800;
}
.mos-book-guidance-grid article:last-child:nth-child(odd) { grid-column: 1 / -1; }
.mos-book-limit {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 10px;
	margin-top: 11px;
	padding: 12px;
	border: 1px solid #ffe6bd;
	border-radius: 15px;
	background: #fff8ec;
}
.mos-book-limit > .ic { width: 24px; height: 24px; }
.mos-book-limit b { font-size: 10px; }
.mos-book-limit p { margin: 3px 0 0; color: #7c6b52; font-size: 9px; line-height: 1.9; }
.mos-book-related { margin-top: 16px; }
.mos-book-related > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.mos-book-related button {
	display: grid;
	grid-template-columns: 72px 1fr 22px;
	align-items: center;
	gap: 11px;
	border: 1px solid #e4e9f6;
	border-radius: 20px;
	padding: 10px;
	background: #fff;
	text-align: right;
	color: var(--ink);
	box-shadow: 0 9px 25px rgba(50, 67, 110, .06);
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}
.mos-book-related button:hover { transform: translateY(-2px); box-shadow: 0 13px 30px rgba(50, 67, 110, .11); }
.mos-book-related-cover { display: block; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: #f1f4fb; }
.mos-book-related-cover img { width: 100%; height: 100%; object-fit: contain; }
.mos-book-related-cover .mos-book-cover-fallback { min-height: 100%; padding: 6px; }
.mos-book-related-cover .mos-book-cover-fallback b,
.mos-book-related-cover .mos-book-cover-fallback small { display: none; }
.mos-book-related button > span:nth-child(2) { min-width: 0; }
.mos-book-related button b { display: block; margin-bottom: 5px; font-size: 10px; }
.mos-book-related button small {
	display: -webkit-box;
	overflow: hidden;
	color: #768099;
	font-size: 8px;
	line-height: 1.8;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.mos-book-related button > .ic { width: 18px; height: 18px; }
.mos-book-reading {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	align-items: center;
	gap: 13px;
	margin-top: 15px;
	border: 1px solid #dfe6f7;
	border-radius: 22px;
	padding: 14px;
	background: linear-gradient(130deg, #fff, #f4f7ff);
	box-shadow: 0 10px 28px rgba(50, 67, 110, .07);
}
.mos-book-reading > span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: #edf2ff;
}
.mos-book-reading > span .ic { width: 26px; height: 26px; }
.mos-book-reading small { color: #6e7a96; font-size: 8px; font-weight: 700; }
.mos-book-reading h2 { margin: 2px 0 3px; font-size: 13px; }
.mos-book-reading p { margin: 0; color: #6a7590; font-size: 9px; line-height: 1.8; }
.mos-book-reading button,
.mos-book-reading > b {
	border: 0;
	border-radius: 13px;
	padding: 11px 14px;
	background: #315bea;
	color: #fff;
	font: inherit;
	font-size: 9px;
	font-weight: 800;
	cursor: pointer;
}
.mos-book-reading button:disabled { cursor: wait; opacity: .62; }
.mos-book-reading.is-activity_done { border-color: #bfe8d5; background: linear-gradient(130deg, #fff, #effcf6); }
.mos-book-reading.is-activity_done > span { background: #e5f8ef; }
.mos-book-reading.is-activity_done > b { background: #18a86c; }
@keyframes mosBookSpin { to { transform: rotate(360deg); } }
@media (max-width: 600px) {
	.mos-book-guidance-grid,
	.mos-book-related > div { grid-template-columns: 1fr; }
	.mos-book-guidance-grid article:last-child:nth-child(odd) { grid-column: auto; }
	.mos-book-guidance { padding: 15px; }
	.mos-book-related button { grid-template-columns: 62px 1fr 20px; }
	.mos-book-reading { grid-template-columns: 43px 1fr; }
	.mos-book-reading > span { width: 43px; height: 43px; }
	.mos-book-reading button,
	.mos-book-reading > b { grid-column: 1 / -1; width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
	.mos-book-loading i { animation: none; }
	.mos-book-related button { transition: none; }
	.mos-book-related button:hover { transform: none; }
}
