/* ===== 轻主题 - 黑白灰极简风格 ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
	font-size: 15px;
	line-height: 1.7;
	color: #333;
	background: #f5f5f5;
	-webkit-font-smoothing: antialiased;
}
a { color: #333; text-decoration: none; transition: color .2s; }
a:hover { color: #000; }
img { max-width: 100%; height: auto; }
ul, ol { list-style: none; }
.container { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.clear { clear: both; }

/* ===== 头部 ===== */
#header {
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
	position: sticky;
	top: 0;
	z-index: 100;
}
#header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 60px;
}
.site-branding { flex-shrink: 0; }
.site-title {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
}
.site-title a { color: #1a1a1a; }
.site-description {
	font-size: 12px;
	color: #999;
	margin-top: 2px;
}

/* ===== 导航 ===== */
#site-nav ul { display: flex; }
#site-nav li { margin-left: 8px; }
#site-nav a {
	display: block;
	padding: 8px 14px;
	font-size: 14px;
	color: #555;
	border-radius: 3px;
}
#site-nav a:hover, #site-nav .current a {
	background: #f0f0f0;
	color: #000;
}
#menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	flex-direction: column;
	gap: 4px;
}
#menu-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: #333;
	transition: .3s;
}

/* ===== 主内容区 ===== */
#main {
	display: flex;
	gap: 24px;
	padding-top: 24px;
	padding-bottom: 40px;
}
#primary {
	flex: 1;
	min-width: 0;
}
#sidebar {
	width: 280px;
	flex-shrink: 0;
}

/* ===== 面包屑 ===== */
.crumbs {
	font-size: 13px;
	color: #999;
	margin-bottom: 16px;
	padding: 0 4px;
}
.crumbs a { color: #666; }

/* ===== 文章列表 ===== */
.post-item {
	background: #fff;
	padding: 24px 28px;
	margin-bottom: 16px;
	border-radius: 4px;
	border: 1px solid #eee;
	transition: box-shadow .2s, border-color .2s;
}
.post-item:hover {
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
	border-color: #ddd;
}
.post-title {
	font-size: 19px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 10px;
}
.post-title a { color: #1a1a1a; }
.post-title a:hover { color: #000; }
.top-tag {
	display: inline-block;
	background: #1a1a1a;
	color: #fff;
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 2px;
	margin-right: 8px;
	vertical-align: middle;
	font-weight: normal;
}
.post-meta {
	font-size: 12px;
	color: #999;
	margin-bottom: 12px;
}
.post-meta span { margin-right: 16px; }
.post-meta a { color: #888; }
.post-excerpt {
	color: #666;
	font-size: 14px;
	line-height: 1.8;
	margin-bottom: 12px;
}
.post-more a {
	font-size: 13px;
	color: #666;
	border-bottom: 1px solid #ccc;
}
.post-more a:hover { color: #000; border-color: #000; }

/* ===== 分页 ===== */
.pagination {
	text-align: center;
	margin-top: 24px;
}
.pagination a, .pagination span {
	display: inline-block;
	padding: 6px 12px;
	margin: 0 3px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 13px;
	color: #666;
	background: #fff;
}
.pagination a:hover { border-color: #999; color: #000; }
.pagination .current {
	background: #333;
	color: #fff;
	border-color: #333;
}

/* ===== 文章详情 ===== */
.post-single {
	background: #fff;
	padding: 32px 36px;
	margin-bottom: 16px;
	border-radius: 4px;
	border: 1px solid #eee;
}
.single-title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 12px;
	color: #1a1a1a;
}
.single-meta {
	font-size: 13px;
	color: #999;
	padding-bottom: 16px;
	border-bottom: 1px solid #f0f0f0;
	margin-bottom: 24px;
}
.single-meta span { margin-right: 16px; }
.single-meta a { color: #888; }
.single-abstract {
	background: #f9f9f9;
	padding: 12px 16px;
	border-left: 3px solid #ddd;
	margin-bottom: 20px;
	font-size: 14px;
	color: #666;
}
.single-content {
	font-size: 15px;
	line-height: 1.9;
	color: #444;
}
.single-content p { margin-bottom: 16px; }
.single-content h2, .single-content h3 {
	margin: 24px 0 12px;
	color: #1a1a1a;
}
.single-content img { border-radius: 3px; margin: 8px 0; }
.single-content blockquote {
	border-left: 3px solid #ddd;
	padding: 8px 16px;
	color: #888;
	background: #fafafa;
	margin: 16px 0;
}
.single-content pre {
	background: #2b2b2b;
	color: #ddd;
	padding: 16px;
	border-radius: 3px;
	overflow-x: auto;
	font-size: 13px;
	margin: 16px 0;
}
.single-content code {
	background: #f0f0f0;
	padding: 2px 6px;
	border-radius: 2px;
	font-size: 13px;
}
.single-content pre code { background: none; padding: 0; }
.page-links { margin: 20px 0; text-align: center; }
.single-tags {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid #f0f0f0;
	font-size: 13px;
	color: #999;
}
.single-tags a {
	display: inline-block;
	background: #f5f5f5;
	padding: 3px 10px;
	border-radius: 2px;
	margin: 0 4px 4px 0;
	color: #666;
	font-size: 12px;
}
.single-tags a:hover { background: #e8e8e8; color: #000; }

/* ===== 上下篇 ===== */
.neighbor-log {
	background: #fff;
	padding: 16px 28px;
	margin-bottom: 16px;
	border-radius: 4px;
	border: 1px solid #eee;
	font-size: 14px;
	display: flex;
	justify-content: space-between;
}
.neighbor-log a { color: #666; }
.neighbor-log a:hover { color: #000; }

/* ===== 评论区 ===== */
.comments-area {
	background: #fff;
	padding: 28px 36px;
	border-radius: 4px;
	border: 1px solid #eee;
}
.comments-title {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid #f0f0f0;
}
.comment-list { margin-bottom: 24px; }
.comment-item {
	padding: 14px 0;
	border-bottom: 1px solid #f5f5f5;
}
.comment-child { padding-left: 30px; background: #fafafa; padding: 12px 16px; margin: 8px 0; border-radius: 3px; }
.comment-author {
	font-size: 14px;
	font-weight: 600;
	color: #333;
	margin-bottom: 6px;
}
.comment-author a { color: #333; }
.comment-date {
	font-size: 12px;
	color: #aaa;
	font-weight: normal;
	margin-left: 10px;
}
.comment-content {
	font-size: 14px;
	color: #555;
	line-height: 1.7;
}
.no-comments {
	text-align: center;
	color: #999;
	padding: 20px 0;
}
.comment-respond { margin-top: 20px; }
.comment-respond h3 {
	font-size: 15px;
	margin-bottom: 14px;
}
.comment-fields {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
}
.comment-fields input {
	flex: 1;
	height: 36px;
	padding: 0 12px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 13px;
	outline: none;
}
.comment-fields input:focus { border-color: #999; }
#commentform textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 14px;
	outline: none;
	resize: vertical;
	font-family: inherit;
}
#commentform textarea:focus { border-color: #999; }
.comment-code {
	margin: 10px 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
.comment-code input {
	width: 120px;
	height: 34px;
	padding: 0 10px;
	border: 1px solid #ddd;
	border-radius: 3px;
}
.comment-code img {
	height: 34px;
	border-radius: 3px;
	cursor: pointer;
	border: 1px solid #ddd;
}
.form-submit { margin-top: 12px; }
.form-submit input[type="submit"] {
	background: #333;
	color: #fff;
	border: none;
	padding: 8px 24px;
	border-radius: 3px;
	cursor: pointer;
	font-size: 14px;
}
.form-submit input[type="submit"]:hover { background: #000; }
.form-submit input[type="reset"] {
	background: #f5f5f5;
	color: #666;
	border: 1px solid #ddd;
	padding: 8px 16px;
	border-radius: 3px;
	cursor: pointer;
	font-size: 14px;
	margin-left: 8px;
}
.comment-closed {
	text-align: center;
	color: #999;
	padding: 20px 0;
}

/* ===== 侧边栏 ===== */
.widget {
	background: #fff;
	padding: 20px;
	margin-bottom: 16px;
	border-radius: 4px;
	border: 1px solid #eee;
}
.widget-title {
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid #333;
}
.widget-list li {
	padding: 7px 0;
	border-bottom: 1px solid #f5f5f5;
	font-size: 13px;
}
.widget-list li:last-child { border-bottom: none; }
.widget-list a { color: #666; }
.widget-list a:hover { color: #000; }
.tag-cloud a {
	display: inline-block;
	background: #f5f5f5;
	padding: 4px 10px;
	border-radius: 2px;
	margin: 0 4px 6px 0;
	font-size: 12px;
	color: #666;
}
.tag-cloud a:hover { background: #e8e8e8; color: #000; }
.widget_search form { display: flex; }
.search-input {
	flex: 1;
	height: 36px;
	padding: 0 12px;
	border: 1px solid #ddd;
	border-right: none;
	border-radius: 3px 0 0 3px;
	font-size: 13px;
	outline: none;
}
.search-input:focus { border-color: #999; }
.search-btn {
	height: 36px;
	padding: 0 16px;
	background: #333;
	color: #fff;
	border: none;
	border-radius: 0 3px 3px 0;
	cursor: pointer;
	font-size: 13px;
}
.search-btn:hover { background: #000; }

/* ===== 页脚 ===== */
#footer {
	background: #fff;
	border-top: 1px solid #e5e5e5;
	padding: 24px 0;
	text-align: center;
	font-size: 13px;
	color: #999;
}
#footer a { color: #888; }
#footer a:hover { color: #000; }
#footer p { margin: 4px 0; }

/* ===== 移动端遮罩 ===== */
#menu-overlay {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,.4);
	z-index: 99;
}
#menu-overlay.active { display: block; }

/* ===== 响应式：平板 ===== */
@media screen and (max-width: 1024px) {
	#main {
		flex-direction: column;
		gap: 16px;
	}
	#sidebar {
		display: none !important;
	}
	#menu-toggle { display: flex; }
	#site-nav {
		position: fixed;
		top: 0;
		right: -260px;
		width: 260px;
		height: 100%;
		background: #fff;
		z-index: 101;
		transition: right .3s ease;
		box-shadow: -2px 0 10px rgba(0,0,0,.1);
		padding-top: 60px;
		overflow-y: auto;
	}
	#site-nav.active { right: 0; }
	#site-nav ul {
		flex-direction: column;
	}
	#site-nav li {
		margin: 0;
		border-bottom: 1px solid #f0f0f0;
	}
	#site-nav a {
		padding: 14px 20px;
		border-radius: 0;
	}
	.post-item, .post-single, .comments-area {
		padding: 20px;
	}
	.neighbor-log {
		padding: 14px 20px;
		flex-direction: column;
		gap: 8px;
	}
}

/* ===== 响应式：手机 ===== */
@media screen and (max-width: 600px) {
	.container { padding: 0 14px; }
	#header .container { height: 52px; }
	.site-title { font-size: 17px; }
	.site-description { display: none; }
	#main { padding-top: 16px; }
	.post-item { padding: 16px; }
	.post-title { font-size: 17px; }
	.post-meta span { margin-right: 10px; font-size: 11px; }
	.post-excerpt { font-size: 13px; }
	.post-single { padding: 18px 16px; }
	.single-title { font-size: 19px; }
	.single-content { font-size: 14px; }
	.comments-area { padding: 18px 16px; }
	.comment-fields { flex-direction: column; }
	.widget { padding: 16px; }
	#footer { font-size: 12px; padding: 18px 0; }
}

/* ===== 底部信息 ===== */
.footer-info {
	padding: 12px 0;
	border-bottom: 1px solid #eee;
	margin-bottom: 12px;
	font-size: 13px;
	color: #666;
	line-height: 1.8;
}
.footer-info a {
	color: #333;
	text-decoration: underline;
}

/* ===== 评论验证码 ===== */
.comment-code {
	margin: 10px 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
.comment-code input {
	flex: 0 0 120px;
	padding: 8px 10px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 13px;
}
.comment-code img {
	height: 36px;
	border: 1px solid #ddd;
	border-radius: 3px;
}
