:root{--paper:#E6E4DC;--paper-2:#DAD7CC;--ink:#23262B;--ink-soft:#555a60;--indigo:#2E4A6B;--pine:#3F6B5A;--seal:#A8322D;--line:#b9b4a6;--water:#9fb6c4;--field:#c9c59a;--hill:#b4b7a6;--road:#8a7a5c;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#1d222b;--paper-2:#262c37;--ink:#e4e0d6;--ink-soft:#a9a79f;--indigo:#9db6d6;--pine:#8fbfa8;--seal:#e0766f;--line:#444b57;--water:#3d5566;--field:#4b4a36;--hill:#3a4040;--road:#b19d78}}
:root[data-theme="dark"]{--paper:#1d222b;--paper-2:#262c37;--ink:#e4e0d6;--ink-soft:#a9a79f;--indigo:#9db6d6;--pine:#8fbfa8;--seal:#e0766f;--line:#444b57;--water:#3d5566;--field:#4b4a36;--hill:#3a4040;--road:#b19d78}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
html,body{height:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Gowun Batang","Nanum Myeongjo","AppleMyungjo","Batang",serif;font-size:17px;line-height:1.85}
a{color:var(--indigo)}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.wrap{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100%}
nav.side{border-right:1px solid var(--line);padding:28px 20px;position:sticky;top:env(safe-area-inset-top,0px);height:100vh;overflow:auto;background:var(--paper-2)}
.brand{font-family:"Song Myung",serif;font-size:40px;line-height:1.1;margin:0 0 4px;letter-spacing:.04em}
.brand a{color:inherit;text-decoration:none}
.brand-sub{font-size:13px;color:var(--ink-soft);margin:0 0 22px}
.search{width:100%;padding:8px 10px;border:1px solid var(--line);background:var(--paper);font-size:14px;border-radius:2px;margin-bottom:18px}
nav ul{list-style:none;margin:0;padding:0}
nav li a{display:block;padding:5px 8px;text-decoration:none;color:var(--ink);font-size:15px;border-left:3px solid transparent}
nav li a[aria-current="page"]{border-left-color:var(--seal);background:var(--paper)}
nav .grp{font-size:12px;color:var(--ink-soft);margin:16px 0 4px 8px}
.theme{margin-top:24px;font-size:13px;background:none;border:1px solid var(--line);color:var(--ink-soft);padding:4px 10px;cursor:pointer}
.updated{font-size:12px;color:var(--ink-soft);margin-top:12px}
.doc{padding:40px 48px 80px;max-width:860px}
.doc h1{font-family:"Song Myung",serif;font-weight:400;font-size:44px;line-height:1.2;margin:0 0 8px}
.doc h1+p{font-size:19px;color:var(--ink-soft);max-width:60ch}
.doc h2{font-family:"Song Myung",serif;font-weight:400;font-size:26px;margin:40px 0 10px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.doc h3{font-size:18px;margin:26px 0 6px}
.doc p{margin:0 0 14px;max-width:68ch}
.doc ul,.doc ol{max-width:68ch;padding-left:1.3em}
.doc li{margin:4px 0}
.doc blockquote{border-left:3px solid var(--pine);padding:6px 14px;margin:14px 0;font-size:15px;color:var(--ink-soft);max-width:68ch}
.doc blockquote p{margin:0 0 6px}
.doc hr{border:0;border-top:1px solid var(--line);margin:30px 0}
.stamp{display:inline-block;font-size:12px;line-height:1;padding:4px 6px;border:1.5px solid var(--seal);color:var(--seal);border-radius:3px;transform:rotate(-2deg);margin-left:6px;vertical-align:middle}
.stamp.ok{border-color:var(--pine);color:var(--pine)}
.tbl{overflow-x:auto;margin:10px 0 18px}
.doc table{border-collapse:collapse;width:100%;font-size:15px;min-width:460px}
.doc th,.doc td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.doc th{font-weight:700;background:var(--paper-2)}
.src{font-size:13px;color:var(--ink-soft)}
.map{margin:10px 0 6px;border:1px solid var(--line);background:var(--paper-2);overflow-x:auto}
.map svg{display:block;width:100%;min-width:560px;height:auto}
@media (max-width:760px){.wrap{grid-template-columns:1fr}nav.side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:18px 16px}.brand{font-size:32px}nav ul{display:flex;flex-wrap:wrap;gap:2px}nav .grp{display:none}nav li a{border-left:0;border-bottom:2px solid transparent;font-size:14px;padding:4px 8px}nav li a[aria-current="page"]{border-bottom-color:var(--seal)}.doc{padding:24px 16px 60px}.doc h1{font-size:34px}}
