
:root {
  --accent: #d94f4f;
  --accent-dark: #c43e3e;
  --text: #2a2a2a;
  --muted: #666;
  --bg: #fff;
  --border: #e3e3e3;
  --panel: #fafafa;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: -apple-system, "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.85;
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

header.site-header {
  border-bottom: 1px solid var(--border);
  padding: 1em 1.25em;
}
header.site-header .wrap {
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
}
.logo {
  font-weight: bold;
  font-size: 1.15em;
  color: var(--text);
}
.logo:hover { text-decoration: none; }
nav.site-nav a {
  margin-left: 1em;
  color: var(--muted);
  font-size: 0.92em;
}
nav.site-nav a:first-child { margin-left: 0; }

main {
  max-width: 720px;
  margin: 0 auto;
  padding: 2em 1.25em 3em;
}

h1 { font-size: 1.55em; line-height: 1.5; margin-bottom: 0.6em; }
h2 { font-size: 1.25em; margin-top: 1.8em; border-left: 4px solid var(--accent); padding-left: 0.5em; }
h3 { font-size: 1.05em; margin-top: 1.4em; color: #333; }
p { margin: 0.9em 0; }
ul { padding-left: 1.4em; }
li { margin: 0.4em 0; }

.table-wrap { overflow-x: auto; margin: 1.2em 0; }
table { border-collapse: collapse; width: 100%; font-size: 0.92em; }
th, td { border: 1px solid var(--border); padding: 0.55em 0.7em; text-align: left; }
th { background: var(--panel); }

.meta { color: var(--muted); font-size: 0.85em; margin-bottom: 1.5em; }

footer.site-footer {
  border-top: 1px solid var(--border);
  margin-top: 3em;
  padding: 1.5em 1.25em;
  text-align: center;
  color: var(--muted);
  font-size: 0.85em;
}
footer.site-footer a { margin: 0 0.6em; color: var(--muted); }

.article-list { list-style: none; padding: 0; }
.article-list li {
  border-bottom: 1px solid var(--border);
  padding: 1.1em 0;
}
.article-list a { font-size: 1.05em; color: var(--text); font-weight: bold; }
.article-list .desc { color: var(--muted); font-size: 0.9em; margin-top: 0.3em; }

.hero { text-align: center; padding: 1.5em 0 0.5em; }
.hero p { color: var(--muted); }

.cat-heading {
  font-size: 1.1em;
  margin-top: 2em;
  color: var(--muted);
  border-left: none;
  padding-left: 0;
  text-transform: none;
}
.cat-heading:first-of-type { margin-top: 1em; }

nav.related {
  margin-top: 3em;
  padding: 1.25em;
  background: var(--panel);
  border-radius: 12px;
}
nav.related h2 {
  border-left: none;
  padding-left: 0;
  margin-top: 0;
  font-size: 1.05em;
}
nav.related ul { list-style: none; padding: 0; margin: 0; }
nav.related li { margin: 0.5em 0; }
nav.related a { font-weight: bold; }

/* 계산기 위젯 공통(kage-calc/kbud-calc/kfx-calc)은 각 위젯 파일 내 <style>에서 이미 스코프돼 있음 */
