/* 성경지도 교재 공용 스타일 — 생성: scripts/site-generators/studycss.py
   직접 고치지 마세요. studycss.py 를 고치고 생성기를 다시 돌리면 갱신됩니다. */
:root{--paper:#f4efe6;--card:#fffdf8;--ink:#2b2622;--soft:#5b5148;--muted:#8a7f73;
 --accent:#a67c33;--accentd:#7d5c22;--rule:#e3dccf;--rules:#d3c9b6;--tint:#efe7d8;
 --ridge:#cdbd97;--water:#9db9c4;--wall:#d8c9a8;--wallst:#b09a6f;--temple:#d9b98a;
 --serif:"Nanum Myeongjo","AppleMyungjo",serif;
 --sans:"Pretendard","Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--paper:#1a1712;--card:#221d17;--ink:#ece5d8;--soft:#c3b9a8;
 --muted:#9b9080;--accent:#c9a54c;--accentd:#e0bd6a;--rule:#3a332a;--rules:#4a4235;--tint:#2a2318;
 --ridge:#4a4130;--water:#3a5560;--wall:#3f3626;--wallst:#6b5c40;--temple:#5a4730}}
*{box-sizing:border-box;margin:0;padding:0}
.wrap{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.8;
 padding:34px 18px 70px;-webkit-font-smoothing:antialiased}
.page{max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--rule);border-radius:6px;
 box-shadow:0 10px 30px rgba(0,0,0,.08);padding:44px 46px 40px}
.eyebrow{font-size:.78rem;letter-spacing:.18em;color:var(--accentd);font-weight:700;text-transform:uppercase}
h1.title{font-family:var(--serif);font-weight:800;font-size:2.3rem;line-height:1.15;margin:.2em 0 .15em}
.summary{color:var(--soft);font-size:1rem;font-family:var(--serif);margin:.2em 0 .6em}

/* 인쇄 · PDF 단추 (종이에서는 숨긴다) */
.tools{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;margin:14px 0 2px}
.tbtn{font-family:var(--sans);font-size:.82rem;font-weight:700;color:#fff;background:var(--accentd);
 border:1px solid var(--accentd);border-radius:7px;padding:.42em 1em;cursor:pointer;text-decoration:none;
 line-height:1.4}
.tbtn:hover{filter:brightness(1.08)}
.tbtn.ghost{color:var(--accentd);background:none}
.thint{font-size:.74rem;color:var(--muted);flex:1 1 15em;min-width:12em}

.evlist{margin:16px 0 2px;border-top:1px solid var(--rule)}
.evlist .ev{padding:9px 0;border-bottom:1px solid var(--rule)}
.evlist .ev .ec{font-family:var(--serif);font-weight:800;color:var(--accent);margin-right:.55em}
.evlist .ev .et{font-weight:600}
.evlist .ev .pl,.evlist .ev .noplace{display:inline-block;font-size:.7rem;color:var(--muted);
 background:var(--tint);border-radius:4px;padding:.05em .5em;margin-left:.5em;vertical-align:.1em}
.evlist .ev .er{display:flex;flex-wrap:wrap;gap:.35em;margin-top:.3em}
.chip{font-size:.76rem;color:var(--soft);background:var(--tint);border:1px solid var(--rules);
 border-radius:6px;padding:.12em .55em}
a.chip.reflink{text-decoration:none;cursor:pointer}
a.chip.reflink:hover{border-color:var(--accent);color:var(--accentd)}
a.chip.reflink::after{content:"↗";font-size:.62rem;margin-left:.25em;opacity:.55}

/* 7국면 고난주간 — 7일 연표 */
.timeline{display:flex;gap:4px;margin:20px 0 8px;align-items:stretch}
.timeline .tl-lbl{font-size:.7rem;color:var(--muted);font-weight:700;align-self:center;
 margin-right:6px;white-space:nowrap}
.tl-cell{flex:1;text-align:center;padding:7px 2px;border:1px solid var(--rule);border-radius:5px;
 background:var(--paper)}
.tl-cell .tl-d{font-size:.66rem;color:var(--muted);font-weight:600}
.tl-cell.cur{background:var(--accent);border-color:var(--accent)}
.tl-cell.cur .tl-d{color:#fff;font-weight:800}

figure.map{margin:18px 0 6px;border:1px solid var(--rule);border-radius:10px;overflow:hidden;
 background:radial-gradient(120% 120% at 50% 0,var(--card),var(--paper))}
.minimap{display:block;width:100%;height:auto;max-height:380px}
.mm-lbl{font-family:var(--sans);font-size:21px;font-weight:800;fill:var(--ink);
 paint-order:stroke;stroke:var(--card);stroke-width:5px}
.rgl{font-family:var(--serif);fill:var(--soft);font-size:20px;font-weight:700;opacity:.95;
 letter-spacing:.06em;paint-order:stroke;stroke:var(--card);stroke-width:4.5px;stroke-linejoin:round}
.rgl.sm{font-size:14px;font-weight:600}
figcaption{font-size:.82rem;color:var(--muted);padding:8px 12px;border-top:1px solid var(--rule);
 background:var(--card)} figcaption b{color:var(--accentd)}
.divider{height:2px;background:linear-gradient(90deg,var(--accent) 0 46px,var(--rule) 46px);
 margin:24px 0 22px;border-radius:2px}
.step{margin:0 0 22px}
.sh{display:flex;align-items:baseline;gap:.7em;margin:0 0 .5em}
.sh .n{font-family:var(--serif);font-weight:800;color:var(--accent);min-width:1.9em;height:1.9em;
 display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--accent);
 border-radius:50%;flex:none;aspect-ratio:1;line-height:1}
.sh h2{font-size:1.22rem;font-weight:700} .sh .cue{font-size:.85rem;color:var(--muted);font-weight:500}
.sb{margin-left:calc(1.9em + .7em)}
.q{margin:.2em 0 .3em;font-weight:600} .q .lead{color:var(--accentd);font-weight:800;margin-right:.35em}

/* 필기줄 — 배경 이미지가 아니라 테두리다. '배경 그래픽 끄기'에도 살아남는다. */
.write{margin:.3em 0 1em}
.write i{display:block;height:32px;border-bottom:1px solid var(--rules)}
@media screen{.write i.px{display:none}}   /* 세 번째 줄은 종이에서만 */

blockquote{margin:.4em 0 .9em;padding:.5em 0 .5em 1em;border-left:3px solid var(--accent);
 font-family:var(--serif);font-size:1.02rem;color:var(--soft);line-height:1.7}
blockquote .ref{display:block;font-family:var(--sans);font-size:.78rem;color:var(--muted);margin-top:.3em}
.panel{background:var(--tint);border:1px solid var(--rules);border-radius:8px;padding:18px 22px;margin:6px 0 22px}
.panel .label{font-size:.74rem;letter-spacing:.14em;color:var(--accentd);font-weight:700;text-transform:uppercase}
.panel .verse{font-family:var(--serif);font-size:1.12rem;line-height:1.6;margin:.4em 0 0}
.panel .verse .ref{font-family:var(--sans);font-size:.82rem;color:var(--muted);margin-left:.3em}
ul.pray{margin:.3em 0 0;padding-left:1.1em} ul.pray li{margin:.25em 0;color:var(--soft)}
.lnav{margin:24px 0 0;border-top:1px solid var(--rule);padding-top:14px}
.lnav details{margin:0 0 10px}
.lnav summary{cursor:pointer;font-size:.84rem;font-weight:700;color:var(--accentd);list-style:none}
.lnav summary::-webkit-details-marker{display:none}
.lnav summary::before{content:"▸ "} .lnav details[open] summary::before{content:"▾ "}
.lnav .toclist{margin:.5em 0 0;border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.lnav .tocitem{display:block;padding:8px 14px;text-decoration:none;color:var(--ink);
 border-bottom:1px solid var(--rule)}
.lnav .tocitem:last-child{border-bottom:0} .lnav .tocitem:hover{background:var(--tint)}
.lnav .tocitem.cur{background:var(--tint);border-left:3px solid var(--accent)}
.lnav .tocitem .n{font-family:var(--serif);font-weight:800;color:var(--accent);margin-right:.5em}
.lnav .tocitem .t{font-weight:600;font-size:.92rem}
.lnav .tocitem .c{display:block;font-size:.72rem;color:var(--muted);margin-left:2.3em}
.lnav .pnrow{display:flex;gap:.5em;flex-wrap:wrap;align-items:center;justify-content:space-between}
.lnav .pn{font-size:.8rem;color:var(--accentd);text-decoration:none;font-weight:700}
.lnav .pn:hover{text-decoration:underline}
.lnav .pn.off,.lnav .pn.mid{color:var(--muted);font-weight:500}
.foot{margin-top:28px;padding-top:14px;border-top:1px solid var(--rule);display:flex;
 justify-content:space-between;gap:1em;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.foot a{color:var(--accentd);text-decoration:none;font-weight:700} .foot a:hover{text-decoration:underline}
@media (max-width:560px){.page{padding:26px 18px}.sb{margin-left:0}h1.title{font-size:1.8rem}
 .timeline .tl-lbl{display:none}.tl-cell .tl-d{font-size:.58rem}}

/* ── 인쇄 ─────────────────────────────────────────────────────────
   다크 모드 토큰을 되돌린다. prefers-color-scheme 규칙보다 뒤에 와야 이긴다. */
@media print{
 :root{--paper:#fff;--card:#fff;--ink:#111;--soft:#333;--muted:#585858;
  --rule:#c9c9c9;--rules:#b3b3b3;--tint:#fff;--accent:#7d5c22;--accentd:#5c4319}
 /* size 를 적지 않는다 — 적으면 Chrome이 그 크기로 배치한 뒤 사용자가 고른 용지에
    **축소**해 버린다(그래서 Statement에 뽑으면 본문이 10.5pt→7pt로 작아진다).
    비워 두면 고른 용지로 제대로 다시 배치된다(실측: Statement 26쪽→42쪽 재배치).
    미리 굽는 PDF는 gen_pdfs.py가 CDP로 A4를 지정한다. */
 @page{margin:14mm 15mm}
 html,body{background:#fff}
 .wrap{background:#fff;padding:0;line-height:1.7;font-size:10.5pt}
 .page{max-width:none;margin:0;background:#fff;border:0;border-radius:0;box-shadow:none;padding:0}
 h1.title{font-size:20pt} .summary{font-size:10pt}
 /* 문항과 필기 공간, 사건 목록, 지도는 페이지 경계에서 갈라지지 않게 */
 .step,.panel,.ev,figure.map,blockquote{break-inside:avoid}
 .sh,.eyebrow,h1.title,.q{break-after:avoid}
 .write{margin:.2em 0 .8em} .write i{height:9mm}
 /* 지도는 줄이기만 한다. CSS 흑백 필터를 걸면 Chrome이 지도를 무손실 비트맵으로
    다시 굽느라 PDF가 과당 1.3MB가 된다. 흑백은 프린터의 '흑백 인쇄'로 하면 된다.
    저작권 표기(figcaption)는 지우지 않는다 — 종이 복제도 배포다. */
 figure.map{background:none;border-color:var(--rule)}
 /* 지도 높이는 용지에 비례해야 한다. 인쇄에서 vh 는 쪽 상자 높이로 계산되므로
    A4(297mm)에서 약 101mm, Statement(216mm)에서 약 73mm가 된다.
    mm로 못 박으면 작은 용지에서 지도가 지면 절반을 먹는다. */
 .minimap{max-height:34vh}
 .tl-cell{background:none} .tl-cell.cur{background:none;border:2px solid #333}
 .tl-cell.cur .tl-d{color:#111}
 .panel{background:none;border:1px solid #999}
 .chip{background:none}
 .divider{background:#333;height:1.5px}
 /* 화면 전용 */
 .tools,.lnav{display:none!important}
 a{color:inherit;text-decoration:none}
 a.chip.reflink::after{content:none}
 .foot{color:#555}
}

/* ── 작은 용지 (Statement 5.5x8.5in, A5 등) ────────────────────────
   인쇄에서 max-width 는 쪽 상자 폭으로 평가된다. A4/Letter는 여기 걸리지 않는다.
   여백을 줄여 좁은 지면의 본문 폭을 확보하고, 표제와 지도를 한 단계 낮춘다.
   필기줄 높이(9mm)와 본문 크기(10pt)는 **줄이지 않는다** — 손 글씨와 읽기 크기는
   종이가 작아졌다고 작아져선 안 된다. */
@media print and (max-width:170mm){
 @page{margin:11mm 10mm}
 h1.title{font-size:17pt} .summary{font-size:9.5pt}
 .sh h2{font-size:1.1rem}
 .minimap{max-height:30vh}
 .sb{margin-left:0}                    /* 좁은 폭에서는 들여쓰기가 사치다 */
 .timeline .tl-lbl{display:none}       /* 연표 앞 '고난주간' 표찰은 제목과 겹치는 정보 */
}
