* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, "Noto Sans SC", sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 20px; }
header { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #ddd; margin-bottom: 20px; }
header a { text-decoration: none; color: #333; font-weight: bold; }
nav a { margin-left: 15px; font-weight: normal; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 8px; border-bottom: 1px solid #eee; }
input, textarea, select { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
textarea { font-family: monospace; }
button { padding: 10px 20px; background: #333; color: #fff; border: none; border-radius: 4px; cursor: pointer; }
button:disabled { opacity: 0.5; }
form div { margin-bottom: 15px; }
label { display: block; margin-bottom: 5px; font-weight: bold; }
.login-page { max-width: 400px; margin: 80px auto; }
.article-header { margin-bottom: 20px; }
.article-header h1 { font-size: 1.6em; }
.article-meta { color: #666; font-size: 0.85em; margin: 8px 0 16px; display: flex; gap: 16px; }
.markdown-content { margin-top: 20px; }
.markdown-content h2 { font-size: 1.4em; margin: 1.2em 0 0.5em; }
.markdown-content h3 { font-size: 1.15em; margin: 1em 0 0.4em; }
.markdown-content p { margin-bottom: 1em; }
.markdown-content ul, .markdown-content ol { margin-bottom: 1em; padding-left: 1.5em; }
.article-item { padding: 14px 0; border-bottom: 1px solid #eee; }
.article-item h3 { font-size: 1em; }
.article-item h3 a { color: #333; text-decoration: none; }
.related-articles { margin-top: 32px; }
.related-articles ul { list-style: none; padding: 0; }
.related-articles li { margin: 6px 0; }
.related-articles a { color: #2563eb; text-decoration: none; }
