[hidden]{display:none!important}
:root{--bg:#f6f1e7;--paper:#fffdf8;--ink:#2a2620;--ink2:#6b6358;--ink3:#9a917f;--line:#e4dccb;--gold:#8a5a1f;--goldbg:#f3e7d1;--sl:#2f5d62;--slbg:#e6efee;--mark:#fbe9a6;--fs:18px;--serif:'Noto Serif KR',serif;--sans:'Noto Sans KR',system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1b1916;--paper:#24211d;--ink:#ece6da;--ink2:#b3ab9c;--ink3:#857d70;--line:#3a352e;--gold:#e0b46e;--goldbg:#3a2f1f;--sl:#8fc5c9;--slbg:#1f3233;--mark:#5a4a12}}
:root[data-theme="dark"]{--bg:#1b1916;--paper:#24211d;--ink:#ece6da;--ink2:#b3ab9c;--ink3:#857d70;--line:#3a352e;--gold:#e0b46e;--goldbg:#3a2f1f;--sl:#8fc5c9;--slbg:#1f3233;--mark:#5a4a12}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2px;padding:6px;padding-top:calc(6px + env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--line)}
.ib{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;flex:none}.ib:active{background:var(--line)}
.loc{flex:1;min-width:0;height:42px;font-weight:500;font-size:16px;border-radius:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#setPanel,#findBox{position:sticky;top:55px;z-index:19;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 16px}
#setPanel .row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;color:var(--ink2);flex-wrap:wrap}
.seg{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg button{padding:6px 10px;font-size:14px}.seg button.on{background:var(--goldbg);color:var(--gold);font-weight:500}
#q{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
#res{max-height:60vh;overflow:auto}#res a{display:block;padding:10px 2px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px}#res a b{color:var(--gold);font-weight:500;margin-right:6px}#res mark{background:var(--mark);color:inherit}
main{max-width:720px;margin:0 auto;padding:0 16px}
/* toc */
.cover{padding:28px 0 8px;text-align:center}.cover h1{font-family:var(--serif);font-size:28px;margin:0}.cover p{margin:4px 0 0;color:var(--ink2);font-size:14px}
.chap{margin:18px 0;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.chap>button{width:100%;text-align:left;padding:14px 16px;display:flex;gap:10px;align-items:baseline}
.chap>button .no{color:var(--gold);font-weight:500;flex:none}.chap>button .t{font-family:var(--serif);font-size:17px;font-weight:600}
.chap ol{list-style:none;margin:0;padding:0 0 6px;border-top:1px solid var(--line)}
.chap li a{display:flex;gap:10px;padding:10px 16px;color:var(--ink);text-decoration:none;font-size:15px}.chap li a:active{background:var(--bg)}
.chap li a .n{color:var(--ink3);width:36px;flex:none;text-align:right}
.cont{margin:6px 0 0;text-align:center}.cont a{color:var(--sl);font-size:14px}
/* section */
.vhead{padding:20px 0 4px}.vhead .ch{font-size:13px;color:var(--ink3)}.vhead h1{margin:2px 0 0;font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.35}
.vhead .pg{font-size:12px;color:var(--ink3)}
.won{margin:14px 0 8px;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:16px 16px 14px;font-family:var(--serif);font-size:calc(var(--fs) + 3px);line-height:2;word-break:keep-all}
.won .to{font-size:.62em;color:var(--sl);margin:0 .08em;vertical-align:.08em}
body.noto .won .to{display:none}
.won{line-height:2.5}.won ruby{ruby-position:over}.won rt{font-family:var(--sans);font-size:.45em;color:var(--ink2);letter-spacing:0;font-weight:400}
body.nory .won rt{display:none}body.nory .won{line-height:2}
.lab{display:flex;align-items:center;gap:8px;margin:22px 0 6px;color:var(--gold);font-weight:500;font-size:14px;letter-spacing:.04em;width:100%;text-align:left;padding:0}
.lab::after{content:"";flex:1;height:1px;background:var(--line)}
.lab .ar{transition:transform .15s;font-size:11px}.lab.off .ar{transform:rotate(-90deg)}
.body p{margin:0 0 .9em;font-size:var(--fs);line-height:1.85;text-indent:1em;word-break:keep-all;overflow-wrap:anywhere}
.body p.q{text-indent:0;margin:.4em 0 .4em .6em;padding:6px 12px;border-left:3px solid var(--line);color:var(--ink2);font-family:var(--serif)}
.body p.br{height:.4em;margin:0}
.body .x{font-size:14px;color:var(--ink3);text-indent:0}
.sec-mw .body p:first-child{}
sup.fr{font-size:.7em;line-height:1;vertical-align:super}sup.fr button{color:var(--sl);font-weight:500;padding:2px 1px;line-height:1.2;display:inline-block}
.fns{margin:26px 0 10px;padding-top:10px;border-top:1px solid var(--line);font-size:14px;color:var(--ink2)}
.fns p{margin:0 0 8px;padding-left:2.6em;text-indent:-2.6em;line-height:1.65;overflow-wrap:anywhere}.fns b{color:var(--sl);font-weight:500;display:inline-block;width:2.6em;text-indent:0}
.fns p.hl{background:var(--mark);border-radius:6px}
#fnPop{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:30;max-width:700px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.65;color:var(--ink);box-shadow:0 8px 28px rgba(0,0,0,.18);max-height:45vh;overflow:auto}
#fnPop b{color:var(--sl);margin-right:6px}
#pager{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;gap:8px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}
#pager button{flex:1;min-width:0;padding:10px 8px;border-radius:10px;background:var(--paper);border:1px solid var(--line);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pager button:disabled{opacity:.35}

.vol{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--ink2);margin:26px 4px -6px;letter-spacing:.1em}
