:root {
  --bg: #fafafa;
  --card: #fff;
  --border: #e5e5e5;
  --text: #222;
  --muted: #666;
  --tag-bg: #f0f0f0;
  --tag-fg: #555;
  --link: #1056a8;
}
* { box-sizing: border-box; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans KR', sans-serif;
  max-width: 760px;
  margin: 0 auto;
  padding: 32px 20px 80px;
  color: var(--text);
  background: var(--bg);
  line-height: 1.65;
}
.site-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.site-title { flex: 1; }
.admin-link {
  font-size: 12px; color: var(--muted); text-decoration: none;
  padding: 6px 12px; border: 1px solid var(--border); border-radius: 4px;
  background: var(--card); white-space: nowrap;
}
.admin-link:hover { color: var(--text); border-color: var(--text); }
header h1 { font-size: 26px; margin: 0 0 4px 0; }
.date-label { color: var(--muted); font-size: 13px; margin: 0 0 14px 0; }
.tabs { display: flex; gap: 4px; margin: 0 0 8px 0; border-bottom: 1px solid var(--border); }
.tab {
  padding: 8px 14px; font-size: 14px; text-decoration: none; color: var(--muted);
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.tab:hover { color: var(--text); }
.tab.active { color: var(--text); border-bottom-color: var(--text); font-weight: 500; }
.sorts { display: flex; gap: 12px; align-items: center; margin: 10px 0 28px 0; font-size: 12px; }
.sort-label { color: var(--muted); }
.sort { color: var(--muted); text-decoration: none; }
.sort:hover { color: var(--text); }
.sort.active { color: var(--text); font-weight: 500; }
.empty-msg { color: var(--muted); padding: 18px 20px; background: #f5f5f5; border-radius: 6px; margin: 0 0 16px 0; font-size: 14px; }
.post-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 18px 20px;
  margin-bottom: 12px;
}
.post-card h2 { font-size: 17px; margin: 0 0 6px 0; }
.post-card h2 a { color: var(--text); text-decoration: none; }
.post-card h2 a:hover { color: var(--link); }
.summary { margin: 4px 0 10px 0; font-size: 14px; color: #444; }
.meta { font-size: 12px; color: var(--muted); display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.tag { background: var(--tag-bg); color: var(--tag-fg); padding: 2px 8px; border-radius: 10px; font-size: 11px; }
.back { font-size: 13px; margin: 0 0 12px 0; }
.back a { color: var(--muted); text-decoration: none; }
.back a:hover { color: var(--link); }
.source { font-size: 13px; margin: 10px 0 0 0; }
.source a { color: var(--link); text-decoration: none; }
.post-body { margin-top: 28px; font-size: 16px; }
.post-body h1, .post-body h2, .post-body h3 { margin-top: 1.5em; line-height: 1.35; }
.post-body h1 { font-size: 22px; }
.post-body h2 { font-size: 18px; }
.post-body h3 { font-size: 16px; }
.post-body p { margin: 0.8em 0; }
.post-body a { color: var(--link); }
.post-body code { background: var(--tag-bg); padding: 1px 5px; border-radius: 3px; font-size: 14px; }
.post-body pre { background: #1e1e1e; color: #e8e8e8; padding: 14px 16px; border-radius: 6px; overflow-x: auto; font-size: 13px; }
.post-body pre code { background: transparent; padding: 0; color: inherit; }
.post-body blockquote { border-left: 3px solid var(--border); padding-left: 14px; color: var(--muted); margin-left: 0; }
.post-body img { max-width: 100%; height: auto; }
.post-body ul, .post-body ol { padding-left: 1.4em; }
