:root{--bg:#e9ede4;--ink:#16231d;--sub:#4d5b52;--act:#17604a;--act-d:#0f4533;--desk:#c7cfc0;--line:#16231d;--warn:#9a6a00;--bad:#a3281a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 "Noto Sans KR",sans-serif}
a{color:var(--act)}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.top{border-bottom:2px solid var(--line)}
.top-in{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.brand{font:800 24px/1 "Nanum Myeongjo",serif;color:var(--ink);text-decoration:none;letter-spacing:.02em}
.brand i{font-style:normal;color:var(--act)}
.top nav a{margin-left:18px;color:var(--ink);text-decoration:none;font-weight:700;font-size:15px}
.top nav a[aria-current]{border-bottom:3px solid var(--act)}
h1{font:800 clamp(28px,4.6vw,46px)/1.25 "Nanum Myeongjo",serif;margin:28px 0 14px;letter-spacing:-.01em;word-break:keep-all}
h2{font:800 22px/1.35 "Nanum Myeongjo",serif;margin:30px 0 8px;word-break:keep-all}
.first{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start;padding:8px 0 28px}
.lede{font-size:17px;max-width:34em;margin:0 0 18px;word-break:keep-all}
.drop{display:block;border:3px solid var(--line);background:#f7f8f3;padding:34px 22px;text-align:center;cursor:pointer;margin-top:34px}
.drop.over,.drop:focus-within{outline:4px solid var(--act);outline-offset:3px}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.drop .big{display:block;font:800 22px/1.4 "Nanum Myeongjo",serif;margin-bottom:6px}
.drop .pick{display:inline-block;margin-top:14px;background:var(--act);color:#fff;font-weight:700;padding:14px 26px;border:0;font-size:17px}
.drop .hint{display:block;color:var(--sub);font-size:14px;margin-top:10px}
#msg{min-height:1.6em;margin:10px 0 0;font-weight:700}
#msg[data-kind=err]{color:var(--bad)}
.ledger-box{border-left:6px solid var(--act);background:#f7f8f3;padding:12px 16px;margin:6px 0 0}
.ledger-box h2{margin:0 0 4px;font-size:18px}
.ledger-box p{margin:0 0 8px;font-weight:700}
#ledger-sum[data-ext="0"]{color:var(--act-d)}
#ledger-sum:not([data-ext="0"]){color:var(--bad)}
#ledger-sum[data-kind=analytics]{color:var(--ink)}
.first>*{min-width:0}
#ledger li span{min-width:0;overflow-wrap:anywhere}
#ledger{list-style:none;margin:0;padding:0;font:400 13px/1.5 ui-monospace,Menlo,monospace;max-height:180px;overflow:auto}
#ledger li{display:flex;justify-content:space-between;gap:12px;border-top:1px dotted #9aa69c;padding:2px 0}
#ledger li b{font-weight:400;color:var(--sub);white-space:nowrap}
.ledger-box button{margin-top:8px;font-size:13px;background:none;border:1px solid var(--ink);padding:3px 10px;cursor:pointer;color:var(--ink)}
.tips{margin:14px 0 0;padding-left:18px;color:var(--sub);font-size:14px}
.doc{max-width:760px;padding:6px 0 40px}
.doc table{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px}
.doc th,.doc td{border:1px solid var(--ink);padding:8px 10px;text-align:left;vertical-align:top}
.doc th{background:#dfe5d8}
.doc td.ok{border-left:6px solid var(--act)}.doc td.no{border-left:6px solid var(--bad)}
.doc blockquote{margin:12px 0;border-left:6px solid var(--warn);padding:4px 14px;background:#f7f8f3}
/* 열린 상태 */
#viewer{display:none}
body[data-state=open] #viewer{display:block}
body[data-state=open] .first{display:none}
body[data-state=open] .below{display:none}
.bar{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:2px solid var(--line)}
.bar-in{max-width:1180px;margin:0 auto;padding:10px 20px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.meta{flex:1 1 260px;min-width:0}
.meta b{display:block;font:800 18px/1.3 "Nanum Myeongjo",serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meta span{font-size:13px;color:var(--sub)}
.bar button{font:700 15px/1 "Noto Sans KR",sans-serif;padding:11px 16px;border:2px solid var(--ink);background:#f7f8f3;color:var(--ink);cursor:pointer}
.bar #save-pdf{background:var(--act);border-color:var(--act);color:#fff;font-size:16px;padding:13px 22px}
.bar button[aria-pressed=true]{background:var(--ink);color:#fff}
.bar .seg{display:flex}.bar .seg button+button{border-left:0}
.desk{background:var(--desk);padding:18px 12px 60px;min-height:70vh}
.pages{display:flex;flex-direction:column;align-items:center;gap:16px}
.page{background:#fff;box-shadow:0 0 0 1px #8b9889;width:min(100%,900px)}
#viewer[data-zoom=orig] .page{width:var(--pw,794px);max-width:none}
#viewer[data-zoom=orig] .pages{align-items:flex-start;overflow-x:auto}
#viewer[data-zoom=big] .page{width:min(160vw,1400px);max-width:none}
#viewer[data-zoom=big] .pages{align-items:flex-start;overflow-x:auto}
.page svg{display:block;width:100%;height:auto}
.foot{border-top:2px solid var(--line);margin-top:30px;padding:18px 0 40px;font-size:14px}
.foot .wrap a{margin-right:16px}
.foot span{color:var(--sub)}
#print-root{display:none}
@media (max-width:760px){.bar-in{gap:6px 8px}.meta{flex-basis:100%}.meta b{font-size:16px}.bar button{padding:9px 10px;font-size:14px}.bar #save-pdf{padding:10px 16px;font-size:15px}.first{grid-template-columns:1fr;gap:6px}.drop{margin-top:6px}.top nav a{margin-left:12px}.bar-in{padding:8px 12px}}
@media print{
  body>*:not(#print-root){display:none!important}
  #print-root{display:block}
  body{background:#fff}
  .pp{break-after:page;page-break-after:always;line-height:0}
  .pp:last-child{break-after:auto;page-break-after:auto}
  .pp svg{display:block}
}
