:root{--paper: #ffffff;--bg: #ffffff;--ink: #111827;--ink-soft: #334155;--muted: #667085;--line: #e2e5ea;--line-soft: #f3f5f8;--accent: #1f2937;--accent-soft: #eef0f3;--accent-strong: #0f172a;--shadow: 0 8px 22px rgba(19, 30, 45, .05)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--ink);font-family:MaruBuri,"Noto Serif KR",Nanum Myeongjo,serif;background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}.shell{max-width:880px;margin:0 auto;padding:24px 24px 56px}.topbar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.topbar-inner{max-width:880px;margin:0 auto;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px}.crumb{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.crumb-brand,.crumb-picker>summary,.crumb-sep{font-family:MaruBuri,"Noto Serif KR",serif;font-size:.85rem;font-weight:600;color:var(--ink);line-height:1.4}.crumb-brand{text-decoration:none;white-space:nowrap;padding:4px 0}.crumb-brand-text{display:inline}.crumb-brand-icon{display:none;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1rem;line-height:1}@media(max-width:640px){.crumb-brand-text{display:none}.crumb-brand-icon{display:inline}}.crumb-sep{color:var(--muted);font-weight:500;flex-shrink:0}.crumb-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:.95rem;line-height:1;margin-right:6px}.crumb-picker{position:relative;min-width:0}.crumb-picker>summary{list-style:none;cursor:pointer;display:inline-flex;padding:4px 8px;border-radius:6px;transition:background .13s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.crumb-picker>summary::-webkit-details-marker{display:none}.crumb-picker>summary:hover{background:var(--line-soft)}.crumb-picker[open]>summary{background:var(--line-soft)}.crumb-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb-menu{position:absolute;left:0;top:calc(100% + 8px);min-width:240px;margin:0;padding:5px;list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 28px #0f172a1a;z-index:60;display:grid;gap:1px}.crumb-menu.scroll{max-height:min(70vh,480px);overflow-y:auto}.crumb-menu a{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--ink);font-family:MaruBuri,"Noto Serif KR",serif;font-size:.92rem;line-height:1.4;transition:background .11s ease}.crumb-menu a:hover{background:var(--line-soft)}.crumb-menu a.active{background:var(--accent-soft);color:var(--accent-strong)}.crumb-menu .cm-emoji{flex-shrink:0;width:1.4em;text-align:center;font-size:1rem;line-height:1}.crumb-menu .cm-name{flex:1;font-weight:600}.crumb-menu .cm-section{padding:10px 10px 4px;font-family:Pretendard,SUIT,-apple-system,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:none;position:sticky;top:0;background:var(--paper);z-index:1}.crumb-menu .cm-section:first-child{padding-top:4px}.crumb-menu .cm-num{flex-shrink:0;width:28px;text-align:right;font-family:Pretendard,SUIT,-apple-system,sans-serif;font-size:.78rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.crumb-menu .cm-title{font-size:.92rem}.crumb-menu a:hover .cm-num,.crumb-menu a.active .cm-num{color:var(--accent)}.topbar-actions{flex-shrink:0}.side .brand{display:grid;justify-items:center;gap:10px;margin:6px 0 22px;padding:6px 0 18px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.side .brand .b-era{font-family:Pretendard,SUIT,-apple-system,sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.36em;color:var(--muted);padding-left:.36em;text-transform:none}.side .brand .b-rule{display:block;width:24px;height:1px;background:var(--ink);opacity:.55}.side .brand .b-name{font-family:MaruBuri,"Noto Serif KR",Nanum Myeongjo,serif;font-size:1.85rem;font-weight:700;letter-spacing:.02em;color:var(--ink);line-height:1;display:inline-flex;align-items:baseline}.side .brand .b-name .b-gap{display:inline-block;width:.32em}.side .brand:hover .b-name{color:var(--accent)}.side .brand:hover .b-rule{background:var(--accent);opacity:1}.topbar-actions .dl-menu{position:relative}.dl-trigger{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid transparent;color:var(--muted);background:transparent;transition:background .13s ease,color .13s ease,border-color .13s ease}.dl-trigger::-webkit-details-marker{display:none}.dl-trigger:hover,.dl-menu[open] .dl-trigger{color:var(--ink);background:var(--line-soft)}.topbar-actions .dl-list{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;margin:0;padding:4px;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 28px #0f172a1a;z-index:60;display:grid;gap:2px}.dl-corner{display:none}.dl-corner .dl-menu{position:relative}.dl-corner .dl-trigger{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid transparent;color:var(--muted);background:transparent;transition:background .13s ease,color .13s ease,border-color .13s ease}.dl-corner .dl-trigger::-webkit-details-marker{display:none}.dl-corner .dl-trigger:hover{color:var(--ink);background:var(--line-soft);border-color:var(--line)}.dl-corner .dl-menu[open] .dl-trigger{color:var(--ink);background:var(--paper);border-color:var(--ink)}.dl-corner .dl-list{position:absolute;right:0;top:calc(100% + 4px);min-width:168px;margin:0;padding:4px;background:var(--paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 12px 24px #0f172a1a;z-index:25}.picker{position:relative;margin:0 0 10px}.picker summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-family:Pretendard,SUIT,-apple-system,sans-serif;transition:border-color .13s ease,background .13s ease}.picker summary::-webkit-details-marker{display:none}.picker summary:hover{border-color:var(--ink)}.picker[open] summary{border-color:var(--ink);border-radius:8px 8px 0 0}.picker-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}.picker-value{font-family:MaruBuri,"Noto Serif KR",serif;font-size:.92rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picker-caret{font-size:.7rem;color:var(--muted);transition:transform .16s ease}.picker[open] .picker-caret{transform:rotate(180deg)}.picker-list{margin:0;padding:4px;list-style:none;background:var(--paper);border:1px solid var(--ink);border-top:0;border-radius:0 0 8px 8px;display:grid;gap:1px}.picker-list.scroll{max-height:360px;overflow-y:auto}.picker-list a{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:5px;text-decoration:none;color:var(--ink);font-size:.86rem;line-height:1.4;transition:background .11s ease}.picker-list a:hover{background:var(--line-soft)}.picker-list a.active{background:var(--accent-soft);color:var(--accent-strong)}.picker-list .pi-name{font-family:MaruBuri,"Noto Serif KR",serif;font-weight:600;font-size:.92rem;flex:1}.picker-list .pi-meta{font-size:.66rem;font-weight:700;letter-spacing:.05em;color:var(--muted);background:var(--line-soft);padding:2px 7px;border-radius:999px;flex-shrink:0}.picker-list .ch-num{flex-shrink:0;width:28px;text-align:right;font-size:.78rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.picker-list .ch-title{font-family:MaruBuri,"Noto Serif KR",serif;font-size:.86rem}.picker-list a:hover .ch-num,.picker-list a.active .ch-num{color:var(--accent)}.dl-menu{position:relative}.dl-menu summary{list-style:none;cursor:pointer}.dl-menu summary::-webkit-details-marker{display:none}.action-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 12px;font-size:.82rem;font-weight:500;border-radius:8px;text-decoration:none;transition:background .13s ease,border-color .13s ease;font-family:Pretendard,SUIT,-apple-system,sans-serif}.action-btn .btn-dot{display:none}.action-btn.primary{background:var(--paper);color:var(--ink)}.action-btn.primary:after{content:"▾";font-size:.66rem;color:var(--muted)}.dl-menu[open] .action-btn.primary:after{content:"▴"}.action-btn.primary:hover{background:var(--line-soft);border-color:var(--ink)}.dl-list{margin-top:6px;background:var(--paper);border:1px solid var(--ink);border-top:0;border-radius:0 0 8px 8px;padding:4px;display:grid;gap:2px}.side-actions .dl-list{margin-top:0}.side-actions .dl-menu[open] .action-btn{border-radius:8px 8px 0 0;border-color:var(--ink)}.dl-list a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;text-decoration:none;color:#1f2937;font-size:.84rem;font-family:Pretendard,SUIT,-apple-system,sans-serif;font-weight:500;transition:background .12s ease,color .12s ease}.dl-list a:hover{background:#eceff3;color:#111827}.dl-list a.dl-full{margin-top:4px;border-top:1px solid var(--line);padding-top:12px;border-radius:0 0 8px 8px}.content-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.side{position:sticky;top:16px;padding:14px 16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.nav-section+.nav-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.nav-section h2{margin:0 0 10px;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.book-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.book-list a{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:7px;text-decoration:none;color:var(--ink);font-family:MaruBuri,"Noto Serif KR",serif;font-weight:600;font-size:.95rem}.book-list a:hover{background:var(--line-soft);color:var(--accent)}.book-list a.active{background:var(--accent-soft);color:var(--accent-strong)}.book-list .ch-count{font-family:Pretendard,SUIT,-apple-system,sans-serif;font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.05em;color:var(--muted);background:var(--line-soft);padding:2px 7px;border-radius:999px;flex-shrink:0}.book-list a.active .ch-count{color:var(--accent);background:#fff}.chapter-list{list-style:none;margin:0;padding:0;display:grid;gap:1px}.chapter-list a{display:flex;align-items:baseline;gap:10px;padding:6px 8px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:.85rem;line-height:1.4;transition:background .11s ease,color .11s ease}.chapter-list a:hover,.chapter-list a.active{background:var(--accent-soft);color:var(--accent-strong)}.ch-num{flex-shrink:0;width:28px;text-align:right;font-size:.78rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.chapter-list a:hover .ch-num,.chapter-list a.active .ch-num{color:var(--accent)}.reader-wrap{position:relative}.reader{max-width:760px;margin:0 auto;padding:0 28px;font-size:clamp(17px,1.05vw,19px);line-height:1.9}.harmony-banner{display:block;margin:0 auto 2.4em;max-width:100%;padding:.95em 1.1em;border:1px solid var(--line);border-left:3px solid #6b6452;background:#f7f3e9;font-size:.92em;line-height:1.55;color:#3a3526}.harmony-banner strong{display:block;margin-bottom:.3em;letter-spacing:.04em;font-weight:600;color:#6b5a2e}.harmony-banner span{display:block;color:#5a533f}.cm-section-appendix{margin-top:.6em;border-top:1px dashed var(--line);padding-top:.4em}.book-cover{margin:0 auto 3em;max-width:min(320px,78%);border:1px solid var(--line);background:var(--paper)}.book-cover img{display:block;width:100%;height:auto;aspect-ratio:1024 / 1448;object-fit:cover;margin:0}.reader h1.chapter-title{text-align:center;margin:0 0 2.4em;padding-top:1em;font-weight:400;letter-spacing:0}.reader h1.chapter-title .ch-emoji{display:block;font-size:2.3rem;line-height:1;margin-bottom:.55em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.reader h1.chapter-title .ch-num{display:block;font-family:Pretendard,SUIT,-apple-system,sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.7em;width:auto;text-align:center}.reader h1.chapter-title .ch-title{display:block;font-size:clamp(1.55rem,2.2vw,1.95rem);font-weight:600;color:var(--ink);letter-spacing:-.005em;line-height:1.3;max-width:18em;margin:0 auto}.reader h2,.reader h3{color:var(--ink);font-weight:600}.reader h2{margin:1.8em 0 .55em;font-size:clamp(1.3rem,1.8vw,1.55rem)}.reader h3{margin:1.5em 0 .45em;font-size:clamp(1rem,1.4vw,1.18rem);color:var(--accent);letter-spacing:.02em}.reader p{margin:0 0 .85em;text-align:justify;text-wrap:pretty;color:var(--ink-soft)}.reader sup.verse{font-size:.66em;color:var(--accent);font-weight:700;margin-right:.2em;vertical-align:super}.reader blockquote{margin:1.2em 0;padding:.52em .95em;border-left:3px solid color-mix(in srgb,var(--accent) 70%,white);background:color-mix(in srgb,var(--paper) 90%,var(--accent-soft) 10%);color:var(--ink-soft);border-radius:8px}.reader blockquote p{margin:0}.reader .map-figure{margin:1.5em 0 1.7em;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}.reader .map-figure img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;image-orientation:from-image}.reader .map-caption{margin:0;padding:10px 14px;text-align:center;color:var(--muted);font-size:.85em;background:var(--line-soft);border-top:1px solid var(--line);font-family:Pretendard,SUIT,-apple-system,sans-serif;line-height:1.5}.reader hr{border:0;border-top:1px solid var(--line);margin:2.2em auto;max-width:92px}.chapter-nav{margin:4em 0 1em;padding-top:1.5em;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px}.chapter-nav-link{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-family:Pretendard,SUIT,-apple-system,sans-serif;transition:background .13s ease,border-color .13s ease}.chapter-nav-link:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.chapter-nav-link.prev{text-align:left}.chapter-nav-link.next{text-align:right}.chapter-nav-link .dir{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.chapter-nav-link .lbl{font-size:.95rem;font-weight:500;font-family:MaruBuri,"Noto Serif KR",serif}@media(max-width:600px){.chapter-nav{grid-template-columns:1fr}.reader{padding:0 14px}}@media(max-width:780px){.shell{padding:16px 14px 32px}.topbar-inner{padding:10px 16px}.reader{padding:0 16px}}@media print{@page{size:A4;margin:22mm 18mm 24mm;@bottom-center{content:counter(page);font-size:9pt;color:#888}}:root{--paper: #fff;--bg: #fff;--ink: #111;--ink-soft: #1a1a1a;--muted: #555;--line: #ccc;--line-soft: #eee;--accent: #222;--accent-soft: #f4f4f4;--accent-strong: #000;--shadow: none}body{background:#fff;color:#000}.topbar,.chapter-nav,.topbar-actions,.crumb-picker,details,script,.book-cover,nav.chapter-nav{display:none!important}.shell{max-width:none;padding:0}.reader{max-width:none;padding:0;font-size:11pt;line-height:1.7}.reader h1.chapter-title{page-break-after:avoid;margin:0 0 1.4em}.reader h1.chapter-title .ch-emoji{font-size:1.6rem;margin-bottom:.3em}.reader h1.chapter-title .ch-num{font-size:.6rem}.reader h1.chapter-title .ch-title{font-size:1.5rem}.reader h2,.reader h3{page-break-after:avoid}.reader p{orphans:3;widows:3}.reader blockquote{background:var(--accent-soft);border-left:2px solid #888;border-radius:0;page-break-inside:avoid}.reader sup.verse{color:#555}.reader hr{max-width:60px;margin:1.4em auto;border-top:1px solid #999}.reader .map-figure{page-break-inside:avoid;border:1px solid #999}a{color:inherit;text-decoration:none}a[href^=http]:after{content:""}}@media print{.kids-body{background:#fff;color:#000}.kids-reader{max-width:none;padding:0;font-size:12pt;line-height:1.7}.kids-reader h1.chapter-title{page-break-after:avoid;background:none;border:none;box-shadow:none;padding:0 0 .8em}.kids-reader h1.chapter-title:before{display:none}.kids-reader sup.verse{background:none;color:#555;border-radius:0;padding:0 .2em 0 0;font-weight:600}.kids-reader strong{background:none;padding:0;color:#000;font-weight:700}.kids-reader blockquote{background:#f4f4f4;border-left:2px solid #888;border-radius:0}.kids-reader blockquote:before{display:none}.kids-reader hr{background:none;border-top:1px solid #aaa;height:auto;max-width:60px;margin:1.4em auto}}
