/* Mcbride extended - 정적 아카이브 */
:root{
  --bg:#ffffff; --fg:#1a1a1a; --muted:#6b7280; --line:#e5e7eb;
  --accent:#1d4ed8; --accent-soft:#eff6ff; --head:#111827; --navbg:#1f2937;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo",
    "Malgun Gothic","맑은 고딕",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:17px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere;
}
.wrap{max-width:880px; margin:0 auto; padding:0 18px}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}

.site-header{background:var(--head); color:#fff; padding:18px 0 16px}
.site-header .logo{color:#fff; font-size:1.25rem; font-weight:700; display:inline-block}
.site-header .logo:hover{text-decoration:none; opacity:.85}
.site-header .tagline{margin:.35rem 0 0; color:#cbd5e1; font-size:.85rem; line-height:1.5}

.mainnav{background:var(--navbg); border-bottom:1px solid rgba(255,255,255,.08)}
.mainnav .wrap{display:flex; gap:.2rem; flex-wrap:wrap; scrollbar-width:none}
.mainnav .wrap::-webkit-scrollbar{display:none}
.mainnav a{color:#d1d5db; padding:.7rem .8rem; font-size:.92rem; white-space:nowrap; border-bottom:2px solid transparent}
.mainnav a:hover{color:#fff; text-decoration:none; background:rgba(255,255,255,.05)}
.mainnav a.on{color:#fff; border-bottom-color:#fff}

main{padding:26px 0 60px; min-height:60vh}
h1.page-title{font-size:1.5rem; line-height:1.4; margin:0 0 .4rem}
.crumb{font-size:.85rem; color:var(--muted); margin:0 0 1.2rem}
.crumb a{color:var(--muted)}
.lead{color:var(--muted); font-size:.9rem; margin:0 0 1.6rem}

/* 검색 */
.search-box{margin:0 0 1.8rem}
.search-box input{width:100%; padding:.7rem .9rem; font-size:1rem; border:1px solid var(--line);
  border-radius:8px; background:#fff; color:inherit; font-family:inherit}
.search-box input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:transparent}
.search-hint{font-size:.8rem; color:var(--muted); margin:.4rem 0 0}
#results{margin:.8rem 0 0; padding:0; list-style:none}
#results li{padding:.55rem 0; border-bottom:1px solid var(--line)}
#results .rb{display:block; font-size:.78rem; color:var(--muted)}

/* 메뉴 트리 (첫 화면) */
.section{margin:0 0 2.4rem}
.section > h2{font-size:1.15rem; margin:0 0 .2rem; padding-bottom:.5rem; border-bottom:2px solid var(--head)}
.section > h2 a{color:inherit}
.menu-grid{list-style:none; margin:.9rem 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:.2rem .9rem}
.menu-grid li{border-bottom:1px solid var(--line)}
.menu-grid a{display:flex; justify-content:space-between; align-items:baseline; gap:.6rem; padding:.6rem .15rem; color:inherit}
.menu-grid a:hover{background:var(--accent-soft); text-decoration:none}
.menu-grid .cnt{flex:none; font-size:.78rem; color:var(--muted)}
.menu-grid .sub{display:block; font-size:.78rem; color:var(--muted); padding:0 .15rem .5rem}
.menu-grid li.group{border-bottom:none; grid-column:1/-1; margin-top:.6rem}
.menu-grid li.group > span{display:block; font-weight:600; font-size:.9rem; padding:.3rem 0 .1rem; color:var(--muted)}
.menu-grid li.group ul{list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:0 .9rem}
.menu-grid li.group ul li{border-bottom:1px solid var(--line)}

/* 목록 */
.board-list,.post-list{list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.board-list li,.post-list li{border-bottom:1px solid var(--line)}
.board-list a{display:flex; justify-content:space-between; align-items:baseline; gap:.8rem; padding:.85rem .2rem; color:inherit}
.board-list a:hover{background:var(--accent-soft); text-decoration:none}
.board-list .bn{font-weight:600}
.board-list .cnt,.board-list .path{flex:none; font-size:.8rem; color:var(--muted)}
.board-list li.empty a{color:var(--muted); font-weight:400}
.post-list li{padding:.8rem .2rem}
.post-list .t{display:block; font-weight:500}
.post-list .m{display:block; font-size:.8rem; color:var(--muted); margin-top:.25rem}
.tag{display:inline-block; font-size:.72rem; padding:.1rem .4rem; border:1px solid var(--line);
     border-radius:4px; color:var(--muted); margin-left:.3rem}

/* 본문 */
.post-meta{font-size:.85rem; color:var(--muted); margin:0 0 1.4rem; padding-bottom:1rem; border-bottom:1px solid var(--line)}
.post-body{font-size:1rem}
.post-body p{margin:0 0 1rem}
.post-body img{max-width:100%; height:auto; display:block; margin:1rem auto; border-radius:4px}
.post-body h1,.post-body h2,.post-body h3{line-height:1.45; margin:1.8rem 0 .8rem}
.post-body ul,.post-body ol{padding-left:1.4rem}
.post-body blockquote{margin:1rem 0; padding:.4rem 1rem; border-left:3px solid var(--line); color:#374151}
.table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.2rem 0}
.post-body table{border-collapse:collapse; width:100%; min-width:480px; font-size:.92rem}
.post-body td,.post-body th{border:1px solid var(--line); padding:.5rem .6rem; vertical-align:top; text-align:left}
.post-body th{background:#f9fafb; font-weight:600}
.post-body td p:last-child,.post-body th p:last-child{margin-bottom:0}

/* 평가표 이미지 */
.figure{margin:1.4rem 0}
.figure img{width:100%; height:auto; display:block; border:1px solid var(--line); border-radius:4px}
.figure .cap{font-size:.8rem; color:var(--muted); margin:.45rem 0 0}
.figure .cap a{color:var(--muted)}
.sources{font-size:.82rem; color:var(--muted); margin:2rem 0 0; padding-top:1rem; border-top:1px solid var(--line)}
.sources a{color:var(--muted)}

.attachments{margin:2.4rem 0 0; padding:1rem 1.1rem; background:#f9fafb; border:1px solid var(--line); border-radius:8px}
.attachments h2{margin:0 0 .6rem; font-size:1rem}
.attachments ul{margin:0; padding-left:1.2rem}
.attachments li{margin:.3rem 0; font-size:.92rem}
.attachments .sz{color:var(--muted); font-size:.85em}

.pager{display:flex; justify-content:space-between; gap:1rem; margin:2.6rem 0 0; padding-top:1.2rem; border-top:1px solid var(--line); font-size:.9rem}
.site-footer{border-top:1px solid var(--line); padding:22px 0 40px; color:var(--muted); font-size:.85rem}
.site-footer p{margin:.25rem 0}
.site-footer .policy{margin-top:.5rem}
.site-footer .policy a{color:var(--muted)}

@media (max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 14px}
  /* 좁은 화면에서는 줄바꿈 대신 가로 스크롤 */
  .mainnav .wrap{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch}
  h1.page-title{font-size:1.28rem}
  .menu-grid{grid-template-columns:1fr}
  .menu-grid li.group ul{grid-template-columns:1fr}
  .post-body table{font-size:.88rem}
}
