* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.7;
  color: #333;
  background: #fafafa;
}

header { background: #fff; border-bottom: 1px solid #eee; }
nav {
  max-width: 800px; margin: 0 auto; padding: 0 20px;
  display: flex; align-items: center; height: 56px; gap: 32px;
}
nav .logo { font-weight: 700; font-size: 18px; color: #333; text-decoration: none; }
nav ul { list-style: none; display: flex; gap: 20px; }
nav a { color: #666; text-decoration: none; font-size: 15px; }
nav a:hover { color: #333; }

main { max-width: 800px; margin: 0 auto; padding: 40px 20px 80px; }

.hero { text-align: center; padding: 60px 0 40px; }
.hero h1 { font-size: 42px; font-weight: 800; margin-bottom: 12px; color: #222; }
.hero p { font-size: 18px; color: #888; }

.section { margin-top: 48px; }
.section h2 {
  font-size: 22px; font-weight: 700; margin-bottom: 20px;
  padding-bottom: 8px; border-bottom: 2px solid #eee;
}

.card-list { display: flex; flex-direction: column; gap: 16px; }
.card {
  display: block; background: #fff; border: 1px solid #eee;
  border-radius: 8px; padding: 20px; text-decoration: none;
  color: inherit; transition: border-color .2s;
}
.card:hover { border-color: #ccc; }
.card h3 { font-size: 17px; margin-bottom: 6px; }
.card p { font-size: 14px; color: #888; }
.card time, .card .tag { font-size: 13px; color: #aaa; display: block; margin-top: 8px; }
.card .tag { color: #999; font-family: monospace; }

.about-item { margin-bottom: 16px; }
.about-item h3 { font-size: 17px; margin-bottom: 6px; }
.about-item p { font-size: 15px; color: #555; line-height: 1.8; }
.contact { margin-top: 16px; font-size: 14px; }
.contact a { color: #333; }

.note-detail { max-width: 700px; }
.note-detail header { margin-bottom: 32px; border: none; background: none; }
.note-detail h1 { font-size: 28px; font-weight: 800; }
.note-detail time { font-size: 14px; color: #999; display: block; margin-top: 8px; }
.note-content { font-size: 16px; line-height: 1.8; color: #444; }
.note-content p { margin-bottom: 16px; }
.note-content pre { background: #f5f5f5; padding: 16px; border-radius: 6px; overflow-x: auto; font-size: 14px; margin-bottom: 16px; }
.note-content code { font-family: "SF Mono", Consolas, monospace; font-size: 14px; background: #f5f5f5; padding: 2px 6px; border-radius: 3px; }
.note-content pre code { background: none; padding: 0; }
.note-content ul, .note-content ol { margin-bottom: 16px; padding-left: 24px; }
.note-content h2 { font-size: 22px; margin: 32px 0 12px; }
.note-content h3 { font-size: 18px; margin: 24px 0 8px; }

.notes-list { display: flex; flex-direction: column; gap: 24px; }
.notes-list article { border-bottom: 1px solid #eee; padding-bottom: 20px; }
.notes-list h2 { font-size: 20px; border: none; padding: 0; margin: 0 0 6px; }
.notes-list h2 a { color: #333; text-decoration: none; }
.notes-list h2 a:hover { text-decoration: underline; }
.notes-list p { font-size: 14px; color: #888; margin-bottom: 6px; }
.notes-list time { font-size: 13px; color: #aaa; }

footer {
  text-align: center; padding: 32px 20px;
  font-size: 13px; color: #aaa; border-top: 1px solid #eee;
}
footer .icp { margin-top: 4px; font-size: 12px; }
footer .icp a { color: #999; text-decoration: none; }
footer .icp a:hover { text-decoration: underline; }
