
:root{
  --paper:#f6f4ee;
  --ink:#1c2a3a;
  --ink-soft:#4b5a6b;
  --rule:#d8d2c4;
  --accent:#7a2e2e;      /* 잉크 레드 - 증명 강조용 */
  --accent-soft:#a85c46;
  --badge-core:#7a2e2e;
  --badge-related:#3c5a6b;
  --badge-bg:#e9e3d3;
  --badge-out:#8a8578;
  --serif: "Noto Serif KR", "Source Serif 4", Georgia, serif;
  --sans: "Pretendard", "Noto Sans KR", system-ui, sans-serif;
  --mono: "JetBrains Mono", "Menlo", monospace;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); line-height:1.7; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent-soft); text-decoration:none;}
a:hover{text-decoration:underline;}
a:focus-visible, button:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.wrap{max-width:760px; margin:0 auto; padding:32px 20px 96px;}
.site-header-bar{display:flex; align-items:center; gap:20px; margin-bottom:26px; flex-wrap:wrap;}
.site-header{display:flex; align-items:center; gap:12px; text-decoration:none;}
.site-header img{height:44px; width:auto; display:block;}
.site-header .site-header-name{font-family:var(--mono); font-size:.85rem; color:var(--ink-soft); letter-spacing:.03em;}
.site-search{position:relative; margin-left:auto; width:100%; max-width:280px;}
.site-search input{
  width:100%; box-sizing:border-box; padding:9px 12px; font-family:var(--sans); font-size:.88rem;
  border:1px solid var(--rule); border-radius:4px; background:#fff; color:var(--ink);
}
.site-search input:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
.site-search-results{
  position:absolute; top:calc(100% + 6px); left:0; right:0; background:#fff; border:1px solid var(--rule);
  border-radius:4px; max-height:340px; overflow-y:auto; z-index:30; display:none;
  box-shadow:0 6px 16px rgba(28,42,58,.12);
}
.site-search-results.active{display:block;}
.site-search-results a{
  display:block; padding:9px 12px; color:var(--ink); border-bottom:1px solid var(--rule); text-decoration:none;
}
.site-search-results a:last-child{border-bottom:none;}
.site-search-results a:hover, .site-search-results a:focus-visible{background:var(--badge-bg);}
.site-search-results .result-title{display:block; font-family:var(--serif); font-size:.9rem;}
.site-search-results .result-en{display:block; font-family:var(--mono); font-size:.7rem; color:var(--ink-soft); margin-top:2px;}
.site-search-empty{padding:12px; font-size:.85rem; color:var(--ink-soft);}
.crumb{font-family:var(--mono); font-size:.78rem; color:var(--ink-soft); letter-spacing:.02em; margin-bottom:18px;}
.crumb a{color:var(--ink-soft);}
.crumb span{margin:0 6px; opacity:.5;}
.badge{
  display:inline-block; font-family:var(--mono); font-size:.72rem; padding:3px 9px;
  border-radius:2px; background:var(--badge-bg); color:var(--ink-soft); letter-spacing:.03em;
}
.badge.core{background:var(--badge-core); color:#f6f4ee;}
.badge.related{background:var(--badge-related); color:#f6f4ee;}
.badge.out{background:transparent; color:var(--badge-out); border:1px solid var(--rule);}
.eyebrow{font-family:var(--mono); font-size:.85rem; color:var(--accent-soft); margin:0 0 6px;}
h1{
  font-family:var(--serif); font-weight:600; font-size:2.05rem; line-height:1.3;
  margin:0 0 4px; color:var(--ink);
}
.subtitle-en{font-family:var(--serif); font-style:italic; color:var(--ink-soft); margin:0 0 28px; font-size:1.05rem;}
.section-num{
  font-family:var(--mono); color:var(--accent); font-weight:600;
}
h2{
  font-family:var(--serif); font-size:1.15rem; font-weight:600; margin:40px 0 14px;
  padding-bottom:8px; border-bottom:1px solid var(--rule); color:var(--ink);
}
.proof-margin{
  position:relative; padding-left:26px; border-left:2px solid var(--rule); margin:18px 0;
}
.placeholder{
  color:var(--ink-soft); font-size:.95rem; background:repeating-linear-gradient(135deg, transparent, transparent 10px, #00000006 10px, #00000006 11px);
  border:1px dashed var(--rule); border-radius:3px; padding:18px 20px;
}
.tags{margin-top:36px; display:flex; gap:8px; flex-wrap:wrap;}
.tag{font-family:var(--mono); font-size:.72rem; background:var(--badge-bg); color:var(--ink-soft); padding:3px 9px; border-radius:2px;}
footer{
  margin-top:64px; padding-top:18px; border-top:1px solid var(--rule);
  font-family:var(--mono); font-size:.72rem; color:var(--ink-soft);
}
.chapter-list, .section-list{list-style:none; margin:0; padding:0;}
.chapter-list li, .section-list li{
  border-bottom:1px solid var(--rule); padding:14px 0; display:flex; align-items:baseline; gap:14px;
}
.chapter-list a, .section-list a{color:var(--ink); font-family:var(--serif); font-size:1.05rem;}
.chapter-list a:hover, .section-list a:hover{color:var(--accent-soft);}
.num-col{font-family:var(--mono); color:var(--accent); min-width:2.4em;}
.en-col{font-family:var(--serif); font-style:italic; color:var(--ink-soft); font-size:.9rem; margin-left:auto;}
.home-link{font-family:var(--mono); font-size:.8rem;}
