/* ===== PDF 보기 (전체 화면 뷰어) ===== */
#pv-root{position:fixed;inset:0;z-index:1100;display:none;flex-direction:column;background:var(--bg);color:var(--ink);font-size:13px}
#pv-root.on{display:flex}
body.pv-open{overflow:hidden}

/* 위쪽 막대 */
.pv-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel)}
.pv-name{max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.pv-sp{flex:1}
.pv-b,.pv-top select,.pv-top input{font:inherit;font-size:13px;line-height:1.1;padding:6px 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}
.pv-b{cursor:pointer;min-width:32px}
.pv-b:hover{background:var(--accs)}
.pv-b.on{background:var(--accs);border-color:var(--acc);color:var(--acc)}
.pv-b:focus-visible,.pv-seg button:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.pv-edit{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:700}
.pv-edit:hover{background:var(--acc);filter:brightness(1.08)}
.pv-seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.pv-seg button{font:inherit;font-size:13px;padding:6px 12px;border:0;border-right:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
.pv-seg button:last-child{border-right:0}
.pv-seg button.on{background:var(--acc);color:#fff;font-weight:700}
.pv-first{display:flex;align-items:center;gap:6px;color:var(--soft)}
.pv-zoom,.pv-nav{display:inline-flex;align-items:center;gap:4px}
.pv-nav input{width:46px;text-align:center}
#pv-total{color:var(--soft);min-width:34px}

/* 안내 줄 */
.pv-info{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:6px 12px;border-bottom:1px solid var(--line);min-height:22px;color:var(--soft)}
.pv-chip{display:inline-block;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:12px;cursor:default}
.pv-chip.warn{border-color:rgba(199,125,18,.55);color:#9a5a08;background:rgba(199,125,18,.10)}
:root[data-theme="dark"] .pv-chip.warn{color:#f0b866}
.pv-chip.dim{color:var(--soft);border-style:dashed}

/* 본문 */
.pv-main{flex:1;min-height:0;display:flex}
.pv-th{flex:none;width:136px;min-width:84px;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--line);background:var(--panel)}
.pv-split{flex:none;width:7px;margin-left:-4px;position:relative;z-index:5;cursor:col-resize;background:transparent;outline:none}
.pv-split::after{content:'';position:absolute;left:3px;top:0;bottom:0;width:1px;background:transparent}
.pv-split:hover::after,.pv-split.drag::after,.pv-split:focus-visible::after{width:3px;left:2px;background:var(--acc)}
.pv-th[style*="display: none"]+.pv-split{margin-left:0}
.pv-thc{position:relative;width:100%}
.pv-t{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;padding-top:6px;cursor:pointer}
.pv-t:hover .pv-tb{outline:2px solid var(--line)}
.pv-t.cur .pv-tb{outline:2px solid var(--acc)}
.pv-t.cur .pv-tn{color:var(--acc);font-weight:700}
.pv-tb{display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.pv-tb canvas{display:block}
.pv-tn{margin-top:3px;font-size:11.5px;color:var(--soft)}
.pv-stage{position:relative;flex:1;min-width:0;overflow:auto;background:var(--bg);cursor:grab;outline:none}
.pv-stage.grab{cursor:grabbing;user-select:none}
.pv-stage.pv-zin{cursor:zoom-in;user-select:none}.pv-stage.pv-zout{cursor:zoom-out;user-select:none}.pv-stage.pv-hand{cursor:grab}
.pv-content{position:relative}
.pv-row{position:absolute}
.pv-pg{position:absolute;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.28);overflow:hidden}
.pv-pg canvas{position:absolute;display:block}
.pv-blank{background:transparent;box-shadow:none;border:1px dashed var(--line)}
.pv-cap{position:absolute;text-align:center;font-size:11.5px;line-height:18px;color:var(--soft);pointer-events:none}
.pv-msg{position:absolute;left:0;right:0;top:40%;text-align:center;color:var(--soft);font-size:14px;pointer-events:none}

/* 문제 표시 — 화면용(인쇄·출력에는 들어가지 않음) */
.pv-mk{position:absolute;left:6px;top:6px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:calc(100% - 12px)}
.pv-mkc{display:inline-block;padding:2px 7px;border-radius:4px;font-size:11.5px;font-weight:700;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.pv-mkc.bad{background:#c0392b;color:#fff}
.pv-mkc.amb{background:#f0b429;color:#3a2a00}
.pv-bx{position:absolute;z-index:2;pointer-events:none;border:2px solid #e0301e;background:rgba(224,48,30,.10);box-sizing:border-box}
.pv-bx.amb{border-color:#e0a21a;background:rgba(224,162,26,.12)}
.pv-pg.pv-flash{animation:pvFlash 1.5s ease-out}
@keyframes pvFlash{0%,40%{outline:4px solid #e0301e;outline-offset:-4px}100%{outline:4px solid transparent;outline-offset:-4px}}
.pv-td{position:absolute;top:9px;right:16px;width:11px;height:11px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.5)}
.pv-td.bad{background:#c0392b}
.pv-td.amb{background:#f0b429}
#pv-root.pv-nomk .pv-mk,#pv-root.pv-nomk .pv-bx{display:none}
button.pv-chip.pv-isu{font:inherit;font-size:12px;cursor:pointer}
button.pv-chip.pv-isu:hover{filter:brightness(.95);border-color:var(--acc)}
.pv-chip.bad{border-color:rgba(192,57,43,.6);color:#a5281b;background:rgba(192,57,43,.09)}
:root[data-theme="dark"] .pv-chip.bad{color:#ff9d92}

@media (max-width:760px){
  .pv-name{max-width:100%;order:-1;flex-basis:100%}
  .pv-th,.pv-split{display:none!important}
}

.pv-chip.ok{border-color:rgba(46,125,50,.55);color:#1f6b24;background:rgba(46,125,50,.09)}
:root[data-theme="dark"] .pv-chip.ok{color:#8fd694}

/* ---- 편집 화면 안에 끼워 넣은 보기 (pdf-view.js 의 host 옵션) ---- */
#pv-root.pv-embed{position:absolute;inset:0;z-index:1;font-size:13px}
#pv-root.pv-embed .pv-close{display:none}

/* 편집 화면 안에서는 쪽 목록이 편집 화면 왼쪽에 따로 있어서(보기·편집 어느 쪽에서도 남음) 보기 안의 쪽 목록은 숨긴다 */
#pv-root.pv-embed .pv-th,#pv-root.pv-embed .pv-split,#pv-root.pv-embed #pv-thb{display:none!important}
/* 안내 줄 칩(⚠ 저해상도 · 투명도 등): 어두운 편집 화면에서 글씨가 묻히지 않게 흰 바탕 + 진한 글씨 */
#pv-root.pv-embed .pv-chip{background:#fff;color:#222;border-color:#b5b5b5;font-weight:600}
#pv-root.pv-embed .pv-chip.warn{background:#fff;color:#8a4f00;border-color:#c77d12}
#pv-root.pv-embed .pv-chip.bad{background:#fff;color:#b3261e;border-color:#c0392b}
#pv-root.pv-embed .pv-chip.ok{background:#fff;color:#1b5e20;border-color:#2e7d32}
#pv-root.pv-embed .pv-chip.dim{background:#fff;color:#555;border-color:#9a9a9a;font-weight:400}
#pv-root.pv-embed button.pv-chip.pv-isu:hover{background:#f3f3f3;border-color:var(--acc)}

/* ---- 출력 미리보기 (분판 보기) : 아크로벳 같은 팝업 창 — 눈 아이콘으로 판 켜기/끄기 + 마우스 위 잉크 % ---- */
/* (클래스 이름을 pv-sepd 로 둔 이유: 아크로뱃 막대의 구분선 .pv-sep 과 겹치면 창 폭이 1px 이 됨) */
.pv-sepd{position:absolute;right:22px;top:96px;z-index:30;width:318px;background:#f0f0f0;color:#1b1b1b;border:1px solid #5f6b7a;border-radius:3px;box-shadow:0 8px 28px rgba(0,0,0,.45);font-size:12.5px;user-select:none}
.pv-sep-h{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 0 0 10px;background:#fff;border-bottom:1px solid #c9c9c9;cursor:move}
.pv-sep-h b{font-weight:600;font-size:12.5px}
.pv-sep-x{align-self:stretch;width:38px;border:0;background:transparent;color:#222;font-size:13px;line-height:1;cursor:pointer;padding:0}
.pv-sep-x:hover{background:#e81123;color:#fff}
.pv-sep-b{padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px}
.pv-sep-g{margin:0;padding:6px 9px 8px;border:1px solid #c4c4c4;border-radius:2px;display:flex;flex-direction:column;gap:7px;min-width:0}
.pv-sep-g legend{padding:0 4px;font-size:12px;color:#1b1b1b}.pv-sep-g legend small{color:#6a6a6a;font-size:11px}
.pv-sep-kv{display:flex;align-items:center;justify-content:space-between;gap:8px}.pv-sep-kv b{font-weight:400;padding:2px 8px;border:1px solid #adadad;background:#fff;border-radius:2px;min-width:120px}
.pv-sep-o{display:flex;align-items:center;gap:6px;cursor:pointer}
.pv-sep-o input[type=number]{width:52px;font:inherit;font-size:12px;padding:1px 3px;border:1px solid #8f8f8f;border-radius:2px;background:#fff;color:#111}
.pv-sep-tc .pv-sw{width:22px}
.pv-sep-l{border:1px solid #8f8f8f;background:#fff;overflow:hidden}
.pv-sep-lh,.pv-sep-r{display:flex;align-items:stretch;gap:0;min-height:22px}
.pv-sep-lh{background:#f3f3f3;border-bottom:1px solid #c9c9c9;font-size:11.5px;color:#444}
.pv-sep-lh>span,.pv-sep-lh>em{padding:3px 6px;display:block}.pv-sep-lh>span:nth-child(3){flex:1}.pv-sep-lh>em{font-style:normal;min-width:58px;text-align:right}
.pv-eyeh{flex:none;width:30px;border-right:1px solid #d3d3d3}.pv-swh{flex:none;width:30px}
.pv-sep-r{align-items:center;cursor:default}
.pv-sep-r>span{flex:1;padding:0 6px}
.pv-sep-r>em{font-style:normal;min-width:58px;padding:0 8px 0 0;text-align:right;font-variant-numeric:tabular-nums}
.pv-sep-r:hover{background:#e7f1fb}
.pv-sep-r.sel{background:#0a64c8;color:#fff}
.pv-sep-r.all>span{font-weight:700}
.pv-sep-r.tot{border-top:1px solid #d3d3d3;background:#fafafa;color:#222}.pv-sep-r.tot:hover{background:#fafafa}
.pv-sw{flex:none;width:16px;height:16px;margin:0 7px;border:1px solid rgba(90,90,90,.7);border-radius:1px}.pv-sw.nosw{border-color:transparent}
/* 눈 칸: 켜짐 = 눈이 보임 / 꺼짐 = 빈 칸 / 일부만 켜짐 = 흐린 눈 */
.pv-eye{position:relative;flex:none;width:30px;align-self:stretch;display:flex;align-items:center;justify-content:center;border-right:1px solid #d3d3d3;cursor:pointer}
label.pv-eye:hover{background:rgba(10,100,200,.12)}
.pv-eye input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pv-eye svg{width:18px;height:13px;display:none;pointer-events:none}
.pv-eye input:checked~svg{display:block}
.pv-eye input:indeterminate~svg{display:block;opacity:.4}
.pv-eye:has(input:focus-visible){outline:2px solid #0a64c8;outline-offset:-2px}
.pv-sep-r.sel .pv-eye{border-right-color:rgba(255,255,255,.4)}
.pv-sep-n{color:#555;font-size:11.5px;line-height:1.45}
/* 툴바의 출력 미리보기 단추 (책 펼침 바로 옆) */
.pv-sepb{display:inline-flex;align-items:center;gap:5px}
.pv-sepb .pv-sepi{flex:none;display:block}
.pv-sepb.on{background:var(--accs)}
.pv-sep-tip{position:fixed;z-index:1300;pointer-events:none;background:rgba(20,20,24,.94);color:#fff;border-radius:6px;padding:5px 9px;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.pv-sep-tip .pv-tc0{color:#2fe6ff;font-weight:700}.pv-sep-tip .pv-tc1{color:#ff5de6;font-weight:700}.pv-sep-tip .pv-tc2{color:#ffe83a;font-weight:700}.pv-sep-tip .pv-tc3{color:#fff;font-weight:700}
.pv-sep-tip .pv-ttot{margin-left:4px;padding-left:8px;border-left:1px solid rgba(255,255,255,.35);color:#c9f7c0}
#pv-root.pv-embed .pv-sepd{top:84px}
@media (max-width:760px){.pv-sepd{right:8px;width:290px}}
