@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;700&family=Noto+Serif+SC:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap');
html, body {
	margin: auto;
	background: #fefefe;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: 
        /* 英语字体 */
        Palatino,
        Vollkorn,
        Times,
        /* 中文字体 */
        "Source Han Serif CN",
		"Noto Serif SC",
		"Songti SC",
        "方正书宋",
        "SimSun",
        /* 日语字体 */
        "Noto Serif CJK JP",
		"Noto Serif JP",
        "Yu Mincho",
		/* 最终回退 */
        serif;
	color: #333;
	line-height: 1.4;
	text-align: justify;
	padding-bottom: 4.75rem;
}
@media screen and (max-width: 768px) {
	html {
		font-size: 19px;
		width: 90%;
	}
}
@media screen and (min-width: 768px) and (max-width: 970px) {
	html {
		font-size: 19px;
		width: 80%;
	}
}
@media screen and (min-width: 971px) and (max-width: 1170px){
	html {
		font-size: 20px;
		width: 75%;
	}
}
@media screen and (min-width: 1171px) and (max-width: 1290px){
	html {
		font-size: 20px;
		width: 70%;
	}
}
@media screen and (min-width: 1291px) and (max-width: 1400px){
	html {
		font-size: 20px;
		width: 65%;
	}
}
@media only screen and (min-width: 1400px) {
	html {
		font-size: 20px;
		width: 60%;
	}
}
@media print {
	html {
		font-size: 14px;
	}
}
h1 {
	margin-top: 1.6em;
    font-size:2.8em;
}
h2 {
	margin-top:1.45em;
	font-size: 1.8em;
}
h3 {
	margin-top: 1.3em;
	font-size: 1.4em;
}
h4 {
	margin-top: 1.2em;
	margin-bottom: 0.5em;
	font-size: 1.15em;
}
h1, h2, h3, h4 {
    font-weight: 700;
}
h1+h2, h2+h3 {
	margin-top: 0.83em;
}
h3+h4 {
	margin-top: 0.8em;
	border-top: none;
}
h4 + p, h4 + ul, h4 + ol {
	margin-top: 0.2em;
}
@media screen and (max-width: 1170px) {
    h1, h2, h3, h4 {
        text-align: left;
    }
	h1:first-child, h2:first-child {
		margin-top: 1em;
	}
}
p, .mathjax-block {
	margin-top: 0;
	-webkit-hyphens: auto;  /* 旧版 Safari/Chrome */
    -moz-hyphens: auto;     /* 旧版 Firefox */
    hyphens: auto;          /* 标准语法 */
}
ul {
	list-style: square;
	padding-left: 1.2em;
}
ol {
	padding-left: 1.2em;
}
ul li, ol li {
	margin-bottom: 0.3em;
}
li > ul, li > ol {
    margin-top: 0.4em;
}
@media screen and (max-width: 1170px) {
	li > ul, li > ol, ul ul, ol ol, ul ol, ol ul {
        padding-left: 0;
        list-style: none;
    }
}
@media screen and (min-width: 1171px) {
    li > ul, ul ul {
        padding-left: 1em;
		list-style: square;
    }
}
@media print {
	ol {
		padding-left: 40px;
	}
}
blockquote {
	margin-left: 1em;
	padding-left: 1em;
	border-left: 1px solid #ddd;
}
@media screen and (max-width: 1170px) {
    blockquote {
        margin-left: 0.4em;
        padding-left: 0.8em;
    }
}
code,
pre {
	font-family: 
		"Consolas",
		"Menlo",
		"Monaco",
		"Source Han Sans CN",
		"Noto Sans CJK SC",
		"Noto Sans CJK JP"
		"Microsoft YaHei",
		monospace,
		serif;
	font-size: .9em;
	background: white;
}
a {
	color: #000000;
	font-weight: bold;
	text-decoration: underline;
}
a:hover {
	color: #595959;
	text-decoration: underline;
}
a img {
	border: none;
}
h1 a,
h1 a:hover {
	color: #595959;
	text-decoration: none;
}
hr {
	color: #ddd;
	height: 1px;
	margin: 2em 0;
	border-top: solid 1px #ddd;
	border-bottom: none;
	border-left: 0;
	border-right: 0;
}
table {
	margin-bottom: 1.333333rem
}
table th,
table td {
	padding: 8px;
	line-height: 1.333333rem;
	vertical-align: top;
	border-top: 1px solid #ddd
}
table th {
	font-weight: bold
}
table thead th {
	vertical-align: bottom
}
table caption+thead tr:first-child th,
table caption+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
	border-top: 0
}
table tbody+tbody {
	border-top: 2px solid #ddd
}
ruby {
	ruby-align: center;
}
::selection {
	background: #333;
	color: #fefefe;
}
::-moz-selection {  /* Firefox 兼容 */
	background: #333;
	color: #fefefe;
}
