@charset "UTF-8";
:root {
	--page-bg:#eeeeee;
	--surface:#ffffff;
	--surface-soft:#fafafa;
	--text:#222222;
	--muted:#888888;
	--border:#e6e6e6;
	--border-soft:#ededed;
	--radius:6px;
}
html {
	background-color:var(--page-bg);
	-webkit-font-smoothing:antialiased;
}
html::-webkit-scrollbar {
	width:13px;
}
html::-webkit-scrollbar-button {
	display:none;
}
html::-webkit-scrollbar-thumb {
	min-height:16px;
	background-color:#999999;
	background-clip:padding-box;
	border:3px solid #fdfdfd;
	border-radius:5px;
}
body {
	color:var(--text);
	font-family:"Courier New",monospace;
	font-size:16px;
	width:100%;
	background-color:var(--page-bg);
	margin:0;
	padding:0;
}
p {
	line-height:1.9em;
	font-weight:400;
	font-size:0.9em;
	margin:0;
	color:#3f3f3f;
	text-shadow:none;
}
a {
	text-decoration:none;
}
a:link,a:visited {
	opacity:1;
	transition:color 0.15s linear;
	color:#2b2b2b;
}
a:hover,a:active {
	color:#111111;
}
h1,h2,h3,h4,h5,h6 {
	text-rendering:optimizeLegibility;
}
hr {
	border:1px solid #f3f3f3;
}
.main {
	background:var(--surface);
	border:1px solid #e0e0e0;
	box-shadow:0 12px 30px rgba(0,0,0,0.08);
	border-radius:var(--radius);
	overflow:hidden;
	width:95%;
	max-width:1000px;
	margin:60px auto 40px;
}
.nav {
	width:840px;
	max-width:95%;
	height:3rem;
	margin:0 auto;
	padding:20px 0;
}
.nav .site_nav {
	float:right;
}
.nav .site_nav ul {
	list-style:none;
	margin:0;
	padding:0;
	float:right;
}
.nav .site_nav li,.nav .site_nav a {
	position:relative;
}
.nav .site_nav li {
	float:left;
}
.nav .site_nav a {
	color:#2f2f2f;
	display:block;
	white-space:nowrap;
	padding:10px;
	font-size:1rem;
}
.header,.content {
	width:820px;
	max-width:90%;
	margin:0 auto;
}
.header {
	padding:50px 0;
}
.header .site_title_container {
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}
.header .site_title_container .left_title img {
	width:85px;
	height:85px;
	border-radius:10px;
}
.header .site_title_container .right_title {
	color:#565654;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
}
.header .site_title_container .right_title .tittle {
	color:#222;
	font-weight:800;
	text-align:right;
	font-size:1.9rem;
}
.header .site_title_container .right_title .description {
	text-align:right;
	color:#666;
	font-weight:800;
}
.post {
	background-color:var(--surface);
	margin-top:40px;
}
.post .post_item {
	margin:10px 0 10px 0;
	display:flex;
}
.post .post_item .post_title {
	flex:1;
	text-overflow:ellipsis;
	overflow:hidden;
	white-space:nowrap;
}
.pagination {
	padding:30px 0 60px 0;
	border-bottom:1px solid #f2f2f2;
	color:#666666;
	font-size:14px;
}
.pagination a {
	color:var(--muted);
	text-decoration:none;
}
.pagination a:hover {
	color:#333333;
}
.pagination .pre {
	float:left;
}
.pagination .next {
	float:right;
}
.post_detail_date {
	float:right;
}
.post_year h2 {
	font-size:2em;
	margin:.67em 0;
	font-weight:700;
}
.post_detail_title h1 {
	font-size:1.5em;
	margin:.83em 0;
	font-weight:700;
}
.post_empty {
	padding:20px 0 60px;
	color:#666;
}
.post_content {
	padding:40px 0;
}
/* Comments: quiet borders, square controls and no moving buttons. */
.comments { max-width:820px; padding:44px 0 72px; margin:0 auto; }
.comments-head { display:flex; align-items:center; gap:10px; margin-bottom:24px; padding-bottom:14px; border-bottom:1px solid var(--border-soft); }
.comments-title { margin:0; color:var(--text); font-size:1rem; font-weight:700; }
.comments-total { display:inline-flex; align-items:center; justify-content:center; min-width:24px; height:24px; padding:0 7px; box-sizing:border-box; color:#666; background:#f3f3f3; border-radius:var(--radius); font-size:.75rem; line-height:1; }
.comments-empty .comments-head { margin-bottom:18px; }
.comments-hint { margin:0 0 18px; color:#757575; font-size:.8125rem; line-height:1.7; }
.vcards { margin:0 0 28px; padding:0; content-visibility:auto; contain-intrinsic-size:auto 500px; }
.vcards .comment-list { margin:0; padding:0; list-style:none; }
.vwrap { min-width:0; padding:20px; border:1px solid var(--border); border-radius:8px; background:var(--surface-soft); }
.vh > .vwrap { margin-top:16px; }
.vheader { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.vheader .optional-url { display:none; }
.admin-info { padding:0 0 12px; color:#666; font-size:.8125rem; overflow-wrap:anywhere; }
.vinput,.veditor { box-sizing:border-box; display:block; width:100%; min-width:0; color:#333; background:var(--surface); border:1px solid #dcdcdc; border-radius:var(--radius); outline:0; font:inherit; font-size:.875rem; transition:border-color .15s ease,box-shadow .15s ease; }
.vinput { height:42px; padding:0 12px; }
.vedit { margin-top:12px; }
.veditor { min-height:136px; padding:14px; line-height:1.75; resize:vertical; }
.vinput::placeholder,.veditor::placeholder { color:#808080; opacity:1; }
.vinput:hover,.veditor:hover { border-color:#c5c5c5; }
.vinput:focus,.veditor:focus { border-color:#858585; box-shadow:0 0 0 3px rgba(0,0,0,.045); }
.vaction { display:flex; flex-flow:row; align-items:center; justify-content:flex-end; gap:8px; margin-top:14px; padding-top:14px; border-top:1px solid var(--border-soft); }
.vaction #cancel-comment-reply-link { margin-right:auto; }
.vaction .vsubmit { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:100px; height:42px; padding:0 20px; color:#fff; background:#242424; border:1px solid #242424; border-radius:var(--radius); font:inherit; font-size:.875rem; font-weight:600; letter-spacing:.02em; cursor:pointer; transition:background .15s ease,border-color .15s ease,box-shadow .15s ease; }
.vaction .vsubmit::after { content:"→"; font-size:1.05em; font-weight:400; line-height:1; }
.vaction .vsubmit:hover { background:#363636; border-color:#363636; }
.vaction .vsubmit:active { background:#151515; border-color:#151515; box-shadow:inset 0 1px 2px rgba(0,0,0,.2); }
.vaction .vsubmit:disabled { opacity:.5; cursor:not-allowed; }
/* Preserve the verification widget's original size and position. */
.vaction .verification-widget { flex:0 0 231px; width:231px; height:50px; margin:0!important; line-height:0; overflow:hidden; }
.vaction .verification-widget>div { transform:scale(.77); transform-origin:top left; }
.vcard { padding-top:20px; position:relative; display:block; scroll-margin-top:16px; }
.vh { display:flow-root; min-width:0; padding-bottom:20px; border-bottom:1px solid var(--border-soft); }
.vcards .vcard:last-child > .vh { border-bottom:0; }
.vhead { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; min-height:28px; line-height:1.5; }
.vimg { width:40px; height:40px; box-sizing:border-box; float:left; margin-right:12px; padding:0; border:1px solid var(--border-soft); border-radius:var(--radius); background:#f3f3f3; object-fit:cover; }
.vnick { min-width:0; max-width:100%; color:#292929; font-size:.875rem; font-weight:600; overflow-wrap:anywhere; }
.vtime { color:#757575; font-size:.75rem; white-space:nowrap; }
.vreply { margin-left:auto; font-size:.75rem; }
.vreply a,.vaction #cancel-comment-reply-link,.comments-hint button { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:30px; padding:4px 9px; color:#666; background:transparent; border:1px solid transparent; border-radius:var(--radius); font-family:inherit; font-size:inherit; line-height:1.4; cursor:pointer; transition:color .15s ease,background .15s ease,border-color .15s ease; }
.vreply a:hover,.vaction #cancel-comment-reply-link:hover,.comments-hint button:hover { color:#222; background:#f2f2f2; border-color:var(--border); }
.comments a:focus-visible,.comments button:focus-visible { outline:2px solid #858585; outline-offset:3px; }
.vcontent { margin-top:6px; color:#444; line-height:1.75; overflow-wrap:anywhere; }
.vcontent p { margin:0; color:inherit; text-shadow:none; }
.vcontent p + p { margin-top:.5em; }
.vcontent img { max-width:100%; height:auto; border-radius:4px; }
.vcontent pre,.vcontent code { font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; font-size:.85em; background:#f8fafc; }
.vcontent pre { margin:.6em 0; padding:10px 12px; overflow:auto; white-space:pre; overflow-wrap:normal; }
.vcontent code { padding:2px 4px; border-radius:2px; color:#666; }
.vcontent pre code { padding:0; color:#555; background:none; }
.vcontent blockquote { margin:.6em 0; padding:2px 0 2px 12px; border-left:2px solid var(--border); color:#777; }
.vcontent blockquote p { white-space:normal; }
.comment-owner > .vh > .vhead .vnick:after { content:"作者"; display:inline-block; margin-left:6px; padding:1px 5px; color:#666; background:#f1f1f1; border-radius:4px; font-size:.6875rem; font-weight:400; vertical-align:middle; }
.comment-waiting { margin:6px 0; padding:8px 10px; color:#707070; background:var(--surface-soft); border-left:2px solid #d5d5d5; border-radius:0 4px 4px 0; font-size:.8125rem; }
.vquote { margin:12px 0 0; padding-left:14px; border-left:1px solid var(--border); }
.vquote .vimg { width:28px; height:28px; margin-right:8px; }
.vquote .vquote .vquote { padding-left:0; border-left:0; }
.vcards .page-navigator { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 0; padding:0; list-style:none; }
.vcards .page-navigator a,.vcards .page-navigator span { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-width:34px; height:34px; padding:0 10px; color:#666; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); font-size:.8125rem; }
.vcards .page-navigator a:hover { color:#222; background:#f5f5f5; border-color:#c8c8c8; }
.vcards .page-navigator .current a,.vcards .page-navigator .current span { color:#222; background:#ededed; border-color:#d2d2d2; font-weight:600; }
.vmention { color:#757575; font-size:.9em; margin-right:.15em; }
.vmention:hover { color:#222; }
.vcard:target > .vh { animation:vflash 1.8s ease-out; }
@keyframes vflash { from { background:rgba(255,225,0,.22); } to { background:transparent; } }
@media (prefers-reduced-motion:reduce) {
	.vcard:target > .vh { animation:none; }
	.vinput,.veditor,.vaction .vsubmit,.vreply a,.vaction #cancel-comment-reply-link,.comments-hint button { transition:none; }
}

.back_to_top {
	position:fixed;
	right:28px;
	bottom:32px;
	z-index:20;
	box-sizing:border-box;
	width:38px;
	height:38px;
	display:none;
	align-items:center;
	justify-content:center;
	color:#666;
	background:rgba(255,255,255,.92);
	border:1px solid var(--border);
	border-radius:50%;
	box-shadow:0 2px 8px rgba(0,0,0,.08);
	text-decoration:none;
	cursor:pointer;
	transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.back_to_top svg {
	width:18px;
	height:18px;
	display:block;
	fill:none;
	stroke:currentColor;
	stroke-width:1.8;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.back_to_top:hover {
	color:#222;
	background:var(--surface);
	border-color:#d5d5d5;
	box-shadow:0 4px 12px rgba(0,0,0,.11);
	transform:translateY(-1px);
}
.back_to_top:active {
	transform:translateY(0);
	box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.back_to_top:focus-visible {
	outline:2px solid #bdbdbd;
	outline-offset:2px;
}
.markdown {
	line-height:1.8em;
	word-wrap:break-word;
	word-break:normal;
	overflow-wrap:break-word;
	padding-bottom:50px;
}
.markdown ul,.markdown ol,.markdown dl {
	margin:0.8em 0;
}
.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6 {
	margin:20px 0 20px 0;
	color:#000000;
}
.markdown h1 {
	font-size:1.35em;
}
.markdown h2 {
	font-size:1.25em;
}
.markdown h3 {
	font-size:1.15em;
}
.markdown h4 {
	font-size:1.1em;
}
.markdown pre,.markdown code {
	font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
	font-size:0.9em;
	background:#f8fafc;
	border:none;
	white-space:pre;
}
.markdown pre {
	padding:16px;
	display:block;
	overflow:auto;
	word-wrap:break-word;
}
.markdown code {
	color:#666666;
	padding:4px 5px;
	border-radius:2px;
	white-space:normal;
	overflow-wrap:anywhere;
}
.markdown pre code {
	padding:0;
	color:#555555;
	white-space:pre;
	overflow-wrap:normal;
}
.markdown .table-wrap {
	max-width:100%;
	margin:1em 0;
	overflow-x:auto;
}
.markdown .table-wrap:focus-visible {
	outline:2px solid #858585;
	outline-offset:2px;
}
.markdown blockquote p {
	white-space:pre-line;
}
.markdown pre::-webkit-scrollbar {
	height:10px;
}
.markdown pre::-webkit-scrollbar-button {
	display:none;
}
.markdown pre::-webkit-scrollbar-track {
	background:white;
}
.markdown pre::-webkit-scrollbar-thumb {
	min-height:1rem;
	background-color:#cccccc;
	background-clip:padding-box;
	border:3px solid #fdfdfd;
	border-radius:5px;
}
.markdown pre::-webkit-scrollbar-thumb:active {
	background-color:#999999;
	border-width:2px;
}
.markdown blockquote {
	box-sizing:border-box;
	margin:2.5em 0;
	padding:0 0 0 50px;
	font-style:italic;
	color:#555555;
	border-left:none;
}
.markdown blockquote:before {
	content:'“';
	display:block;
	font-family:times,sans-serif;
	font-style:normal;
	font-size:48px;
	color:#444444;
	font-weight:bold;
	line-height:30px;
	margin-left:-50px;
	position:absolute;
}
.markdown strong,.markdown b,.markdown em,.markdown mark {
	margin:0 -0.4em;
	padding:0 0.4em;
	border-radius:0.8em 0.3em;
	background:0 0;
	background-image:linear-gradient(to right,rgba(255,225,0,.1),rgba(255,225,0,.7) 4%,rgba(255,225,0,.3));
	-webkit-box-decoration-break:clone;
	box-decoration-break:clone;
}
.markdown img {
	max-width:90%;
	height:auto;
}
@media print,screen and (max-width:680px) {
	.back_to_top { display:none !important; }
	.comments { padding:32px 0 56px; }
	.vwrap { padding:16px; }
	.vheader { grid-template-columns:1fr; gap:10px; }
	.vinput,.veditor { font-size:1rem; }
	.vaction { flex-wrap:wrap; align-items:stretch; }
	.vaction .verification-widget { width:100%; max-width:100%; }
	.vaction .vsubmit { width:100%; height:44px; }
	.vquote { padding-left:10px; }
	.vquote .vwrap { padding:12px; }
}@media print,screen and (max-width:900px) {
	.main {
	margin:20px auto;
}
.header .site_title_container .left_title a img {
	width:62.5px;
	height:62.5px;
}
}
/* Current-theme compatibility only; keep classic Cola visuals. */
.header .site_title_container .right_title .contact-email{
    width:30px;height:30px;margin-top:12px;display:inline-flex;align-items:center;justify-content:center;
    color:#888;border:1px solid var(--border-soft);border-radius:4px;background:#fff;
}
.header .site_title_container .right_title .contact-email:hover{color:#333;background:#f7f7f7}
.header .site_title_container .right_title .contact-email svg{display:block}
.code-copy{position:absolute;top:8px;right:8px;padding:3px 7px;border:1px solid #e5e5e5;background:#fff;color:#888;font-family:"Courier New",monospace;font-size:11px;cursor:pointer}
.code-copy:hover,.code-copy.copied{color:#333;border-color:#ccc}
.markdown .code-wrap{position:relative;margin:1em 0}
.markdown .code-wrap pre{margin:0;padding-right:70px}
/* Homepage text contrast tuning */
.index-template .post_year h2{color:#555}
.index-template .post .post_item .post_title{color:#222}
.index-template .post_date{color:#555}
.index-template .post .post_item .post_title:hover{color:#111}

/* Accessible labels and a delayed PJAX status; no change to the normal layout. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.cola-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:30;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.8em}
.cola-status:empty{display:none}
.content:focus{outline:none}