.church-head{max-width:760px;margin:auto;padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font:13px/1.5 system-ui,"Malgun Gothic",sans-serif}.church-head a{color:var(--ink);text-decoration:none}.home-return{width:100%}.church-brand img{width:145px;height:auto;display:block}.church-head nav{display:flex;gap:14px}#load-status{text-align:center;font:13px/1.5 system-ui,sans-serif;color:var(--soft)}#load-status:empty{display:none}.book-footer{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:center;padding:32px 16px;font:14px/1.5 system-ui,sans-serif}.book-footer a,.book-footer button{color:var(--soft)}.book-footer button{background:transparent;border:0;font:inherit;cursor:pointer;text-decoration:underline}.admin-actions{display:flex;gap:8px;margin:-10px 0 18px;font:12px/1.4 system-ui,sans-serif}.admin-actions button,.dialog-actions button,.memo-entry button{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;padding:7px 12px;cursor:pointer}.admin-actions[hidden],[hidden]{display:none!important}dialog{width:min(680px,calc(100% - 24px));max-height:85dvh;overflow:auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:24px;font:15px/1.7 system-ui,"Malgun Gothic",sans-serif}dialog::backdrop{background:#0008}dialog h2{font-size:20px;margin:0 0 14px}dialog input,dialog textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:12px}dialog textarea{min-height:140px}.edit-body{padding:16px;border:1px solid var(--line);background:var(--bg);line-height:1.9;white-space:pre-wrap}.edit-body [contenteditable]{outline:1px dashed var(--line);min-width:1em;display:inline;white-space:pre-wrap}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}#dialog-error{color:#a32d2d}.memo-entry{border-top:1px solid var(--line);padding:12px 0;white-space:pre-wrap}.memo-entry small{display:block;color:var(--soft)}.read-cover{width:100%;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 16px 54px;background:var(--bg);position:relative}.read-cover img{height:100%;width:100%;object-fit:contain;max-height:calc(100dvh - 70px)}.read-cover button{position:absolute;bottom:12px;font:14px system-ui,sans-serif;border:0;background:none;color:var(--ink);padding:8px 18px;cursor:pointer}body.cover-mode .church-head,body.cover-mode .bar,body.cover-mode #load-status{display:none}body.cover-mode .book{max-width:none;margin:0;padding:0}body.cover-mode .book-footer{display:none}body.cover-mode .read-cover~*{display:none}.reader-help{font:12px/1.6 system-ui,sans-serif;color:var(--soft)}@media(max-width:480px){.church-head nav{gap:10px;font-size:12px}.church-brand img{width:120px}dialog{padding:18px}.bar{position:sticky;top:0}}@media print{.church-head,.book-footer,.admin-actions,.read-cover button{display:none}.read-cover{height:95vh;page-break-after:always}}

.chap p{text-align:left;word-break:keep-all;overflow-wrap:break-word}.admin-highlight{background:#fff2a8;color:inherit;border-radius:2px}.paragraph-badge{align-self:center;padding:2px 6px;background:#fff2a8;color:#51431b;border-radius:3px;font-size:11px}:root[data-theme=dark] .admin-highlight{background:#65501e}.edit-body{text-align:left;word-break:keep-all;overflow-wrap:break-word}


/* 연속 스크롤과 문단 단위 종이책 쪽. 본문 노드는 복제하지 않는다. */
:root{--page-x:72px;--page-y:54px;--page-height:940px;--reader-bar-height:60px}
html{scroll-padding-top:calc(var(--reader-bar-height) + 18px)}
.read-cover{height:100svh;min-height:480px;padding-bottom:96px}.read-cover img{max-height:calc(100svh - 110px)}.read-cover button{bottom:49px}.cover-hint{position:absolute;bottom:14px;margin:0;font:13px/1.6 system-ui,sans-serif;color:var(--soft)}.cover-hint span{display:inline-block;animation:read-down 1.8s ease-in-out infinite}@keyframes read-down{50%{transform:translateY(4px)}}
.book{margin:20px auto 80px}.chap.sheet,.toc.sheet{display:block;padding:0;background:transparent;box-shadow:none;border-radius:0;margin-bottom:36px}.chap{scroll-margin-top:calc(var(--reader-bar-height) + 18px)}
.reading-page{position:relative;height:var(--page-height);min-height:var(--page-height);padding:var(--page-y) var(--page-x) calc(var(--page-y) + var(--page-footer,28px));margin-bottom:22px;background:var(--paper);border-radius:3px;box-shadow:0 8px 28px rgba(40,25,10,.10)}.page-content,.flow-unit{display:flow-root}.page-number{position:absolute;bottom:var(--page-number-bottom,23px);left:0;width:100%;text-align:center;color:var(--soft);font:13px/1.4 system-ui,sans-serif;font-variant-numeric:tabular-nums}.flow-unit:first-child h3{margin-top:0}.notes.notes-heading{margin-top:20px}.notes.notes-piece{margin-top:0;padding-top:0;border:0}.notes-piece ol{margin:0}.notes-piece li{margin-bottom:8px}.admin-actions{margin-top:-4px}.flow-unit .nav{margin-top:20px}.toc a{position:relative;padding-right:48px}.toc-page-number{position:absolute;right:4px;top:50%;transform:translateY(-50%);font:14px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--soft)}
.bar{padding-bottom:12px}.current-location{display:flex;align-items:center;gap:6px;max-width:560px;min-width:0;flex:1 1 380px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.current-location>span{white-space:nowrap;color:var(--soft);font-size:12px}.bar .current-location select{border:0;border-radius:0;padding:3px 18px 3px 0;background:transparent;max-width:100%;width:100%;min-width:0;text-overflow:ellipsis;cursor:pointer}.current-location:focus-within{outline:2px solid var(--accent);outline-offset:2px}#page-counter,#progress-percent{font:12px/1.4 system-ui,sans-serif;color:var(--soft);white-space:nowrap;font-variant-numeric:tabular-nums}#reading-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line)}#reading-progress::before{content:"";display:block;width:var(--read-progress,0%);height:100%;background:var(--accent)}
@media(max-width:640px){:root{--page-x:20px;--page-y:30px}.current-location{flex-basis:100%;max-width:100%;order:0}.bar .current-location select{order:0;flex:1 1 auto}.bar{gap:6px}.reading-page{margin-bottom:16px}.page-number{bottom:var(--page-number-bottom,18px)}.church-head{padding-top:14px;padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover-hint span{animation:none}}
@media print{.reading-page{box-shadow:none;break-after:page;margin:0}.bar,.church-head,.book-footer,.cover-hint{display:none}.read-cover{break-after:page}}

.toc .flow-unit a{padding-right:50px}


.page-slice{position:relative;overflow:hidden;display:block}.fragment-highlight{background:#fff2a8;color:inherit;border-radius:2px}:root[data-theme=dark] .fragment-highlight{background:#65501e}.chap .flow-unit h3{margin-top:2.6em}.page-slice p{overflow-wrap:break-word}


/* 읽어 주기: 본문과 쪽 크기를 바꾸지 않는 표시. */
.tts-controls{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.bar .tts-controls select{width:auto;max-width:80px;flex:none;order:0;padding:6px 5px;font-size:12px}.bar #tts-status{font:12px/1.4 system-ui,sans-serif;color:var(--soft)}.chap p.tts-reading,.page-slice.tts-reading{background:color-mix(in srgb,var(--accent) 13%,var(--paper));outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:1px}.page-slice.tts-reading p.tts-reading{outline:0}#tts-notice{max-width:760px;margin:10px auto;padding:8px 14px;font:12px/1.6 system-ui,sans-serif;color:var(--soft)}#tts-notice button{border:0;background:none;color:var(--ink);text-decoration:underline;margin-left:8px;cursor:pointer}#tts-external{color:var(--accent)}@media(max-width:640px){.bar #tts-status{flex-basis:100%;text-align:center}.bar #tts-status{min-height:17px}.tts-controls button{white-space:nowrap}}@media print{.tts-controls,#tts-status,#tts-notice{display:none}}

#tts-notice{position:fixed;z-index:6;bottom:16px;left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:620px;margin:0;padding:12px 16px;background:var(--paper);border:1px solid var(--line);box-shadow:0 3px 16px #0002;border-radius:8px}

/* 언제든 목차로 돌아가는 상단 단추. */
.bar #toToc{min-height:44px;padding:8px 16px;background:#A85A2A;color:#fff;border-color:#A85A2A;font-size:15px;font-weight:700;flex:0 0 auto;margin-right:auto}
.bar #toToc:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* 관리자 진입과 상단 나가기. */
.toc .toc-admin-entry{border:0;height:0}.toc .toc-admin-entry a{position:absolute;z-index:1;left:var(--page-x);bottom:16px;display:inline-block;padding:4px 0;color:var(--soft);font:12px/1.5 system-ui,sans-serif;text-decoration:underline}.bar .top-admin-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;max-width:100%;padding:4px 8px;border:1px solid var(--line);border-radius:8px;color:var(--soft);font:12px/1.5 system-ui,sans-serif}.bar .top-admin-tools button{padding:5px 9px;font-size:12px}.bar #top-admin-state{font-weight:700}@media(max-width:640px){.bar .top-admin-tools{flex:1 1 100%;justify-content:flex-start}}

.bar .tts-controls{flex-wrap:wrap;justify-content:center}.bar .tts-controls #tts-voice{max-width:min(230px,54vw)}#tts-voice-hint{font:12px/1.5 system-ui,sans-serif;color:var(--soft)}@media(max-width:640px){#tts-voice-hint{flex-basis:100%;text-align:center}.toc .toc-admin-entry a{bottom:8px}.toc a{font-size:14px}}
.chap .reading-page h1{font-size:max(22px,calc(29.45px * var(--page-scale)));margin-bottom:calc(56px * var(--page-scale));line-height:1.45}.chap .reading-page .part{font-size:max(10px,calc(14px * var(--page-scale)));margin-bottom:calc(10px * var(--page-scale))}.reading-page .toc-admin-entry a{bottom:calc(16px * var(--page-scale))}
.bar .tts-controls{max-width:100%}.bar #tts-resume{max-width:min(280px,80vw);white-space:normal}

/* 고친 곳(관리자 전용): 하늘색 밑줄 — 형광 노랑과 겹쳐도 보이게 밑줄로만. 점선=직접 고치신 문장. */
mark.admin-change{background:transparent;color:inherit;text-decoration:underline;text-decoration-color:#d93025;text-decoration-thickness:3px;text-underline-offset:4px;text-decoration-skip-ink:none}
mark.admin-change.admin-highlight,mark.admin-change.fragment-highlight{background:#fff2a8}
mark.admin-change.change-owner{text-decoration-style:dashed}
:root[data-theme=dark] mark.admin-change{text-decoration-color:#ff7b72}:root[data-theme=dark] mark.admin-change.admin-highlight,:root[data-theme=dark] mark.admin-change.fragment-highlight{background:#65501e}
.bar .change-tools{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;padding-left:8px;border-left:3px solid #d93025}.bar .change-count{color:var(--ink);font-weight:700}
.chap p.change-current{outline:2px solid #d93025;outline-offset:4px}
@media print{mark.admin-change{text-decoration:none}}

/* 1103c: 통째로 뺀 곳 [줄임] 표시(관리자 화면 전용) · 장별 빨간 줄 개수 */
.admin-actions{flex-wrap:wrap}
.paragraph-badge.cut-badge{color:#d93025;border:1px solid #d93025;background:transparent;font-size:.75rem;padding:0 6px;border-radius:0;cursor:pointer}
:root[data-theme=dark] .paragraph-badge.cut-badge{color:#ff7b72;border-color:#ff7b72}
.cut-dialog .cut-label{font-size:.85rem;color:var(--soft)}.cut-dialog .cut-text{padding:8px 10px;border-left:3px solid #d93025;line-height:1.7;white-space:pre-wrap}
.bar .change-chapters{font-size:.8rem;color:var(--ink)}
