@font-face{font-family:Archive;src:url('assets/gowun-batang-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Archive;src:url('assets/gowun-batang-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--paper:#e9dfc8;--paper-light:#f4ecd9;--ink:#292d27;--muted:#686457;--red:#8b392d;--line:#aaa08a;--green:#253b35;--font:Archive,'Batang','Songti SC',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#29251e;font-family:var(--font);font-size:16px;line-height:1.85}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:5px}button{border:0}button svg{width:20px;height:20px}a{color:inherit}p,h1,h2,h3,h4{margin:0}button{background:none}[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-80px;background:var(--paper);z-index:200;padding:8px 16px}.skip-link:focus{top:12px}
.entry{height:100svh;min-height:650px;position:relative;isolation:isolate;overflow:hidden;color:#d8ccb5;background:radial-gradient(ellipse at 42% 36%,#5b49384d,#110f0ddd),url('assets/desk.webp') center/cover,#382b21;display:flex;flex-direction:column;align-items:center;justify-content:center}.entry:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 160px #080a09a0;z-index:-1;pointer-events:none}.entry-top,.entry-bottom{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;font-size:13px;letter-spacing:.16em;color:#ccbda3aa}.entry-top{top:32px}.entry-top i{display:inline-block;width:22px;height:1px;background:#ccbda366;vertical-align:middle;margin:0 12px}.entry-bottom{bottom:26px}.entry-side{position:absolute;left:16%;top:30%;writing-mode:vertical-rl;letter-spacing:.3em;font-size:14px;color:#c9b69a8c}.book-scene{position:relative;width:340px;height:460px;perspective:1500px;transform:rotate(-6deg);margin:8px 0 42px;filter:drop-shadow(22px 30px 23px #050706a0)}.book-paper{position:absolute;inset:6px -8px -6px 4px;background:repeating-linear-gradient(0deg,#c8baa0 0px,#c8baa0 1px,#e6d9be 1px,#e6d9be 3px);border-radius:2px 7px 7px 2px;box-shadow:4px 3px 0 #111f1a,7px 6px 0 #111f1a}.book-cover{position:absolute;inset:0;background-color:#172e2c;background-image:repeating-linear-gradient(0deg,#d4c59b05 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#0001 0 1px,transparent 1px 3px),linear-gradient(110deg,#ffffff0b,transparent 45%,#0003);box-shadow:inset 7px 0 10px #0005,inset -1px 0 3px #fff2,1px 2px 4px #0009;border-radius:3px 5px 4px 3px;transform-origin:3% center;transform-style:preserve-3d;backface-visibility:hidden;touch-action:pan-y;user-select:none}.cover-frame{position:absolute;inset:17px 17px 17px 34px;border:1px solid #a6946038}.title-label{position:absolute;right:36px;top:30px;height:338px;width:121px;background:#d6c8a6;box-shadow:1px 2px 5px #0005,inset 0 0 25px #795e2833;border:1px solid #b3a684;display:flex;align-items:flex-start;justify-content:center;padding:22px 15px;gap:15px;color:#242c26}.title-label:after{content:'';position:absolute;inset:5px;border:1px solid #91836388;pointer-events:none}.cover-title{writing-mode:vertical-rl;font-size:35px;font-weight:700;letter-spacing:.12em;line-height:1.3}.cover-hanja{writing-mode:vertical-rl;font-size:17px;letter-spacing:.24em;line-height:1.5;margin-top:2px}.cover-seal{position:absolute;bottom:42px;left:73px;border:2px solid #ae5745;color:#b1624c;line-height:1.2;font-size:26px;padding:6px 7px;transform:rotate(4deg)}.cover-volume{position:absolute;bottom:35px;right:61px;color:#bca974;font-size:14px;letter-spacing:.25em}.binding{position:absolute;left:9px;top:29px;bottom:29px;width:18px;display:flex;flex-direction:column;justify-content:space-between}.binding i{height:30px;width:29px;border-top:2px solid #baa47d;border-bottom:2px solid #baa47d;border-left:2px solid #baa47d;transform:rotate(3deg);box-shadow:0 1px 2px #0009}.entry-instruction{text-align:center;font-size:14px;letter-spacing:.08em}.entry-instruction p{color:#d4c5ad}.drag-line{display:block;margin:0 auto 14px;width:75px;height:1px;background:linear-gradient(90deg,#d4c5ad,transparent);position:relative}.drag-line:before{content:'';position:absolute;left:0;top:-3px;width:6px;height:6px;border-left:1px solid #d4c5ad;border-bottom:1px solid #d4c5ad;transform:rotate(45deg)}.text-button{font-size:14px;border-bottom:1px solid #baa88977;color:#e3d4b9;padding:4px 3px;margin-top:8px}.entry-audio{display:block;font-size:12px;color:#b8aa947f;margin-top:13px;letter-spacing:.02em}
.archive{min-height:100svh;background:linear-gradient(#101a16bb,#101a16c9),url('assets/desk.webp') center/cover fixed,#27322b;padding:0 32px 110px}.site-header{max-width:1260px;margin:auto;height:110px;display:flex;align-items:center;justify-content:space-between;color:#d9cfb9}.brand{display:flex;align-items:center;gap:14px;text-align:left;color:#e7ddc6;letter-spacing:.09em;font-weight:bold;font-size:19px;padding:0}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.36em;color:#b7ab91;line-height:1.6}.brand-seal{font-size:27px;line-height:1;width:42px;height:44px;display:grid;place-items:center;background:#803c2f;color:#e4c7a7;border:3px double #d79b7166}.header-note,.header-edition{font-size:13px;letter-spacing:.16em;color:#b8b09a}.book-layout{max-width:1260px;margin:auto;background:var(--paper);position:relative;box-shadow:0 15px 70px #0006,5px 0 0 #b6a991,9px 0 0 #d7c9ad,13px 0 0 #19352e;isolation:isolate}.book-layout:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#5c442204 0 1px,transparent 1px 4px);z-index:3}.masthead{height:170px;position:relative;background:linear-gradient(180deg,#d0c2a940,var(--paper));overflow:hidden}.masthead:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,var(--paper));pointer-events:none}.title-art{position:absolute;width:36%;height:110px;left:6%;top:24px}.masthead-note{position:absolute;right:6%;top:42px;writing-mode:vertical-rl;letter-spacing:.26em;font-size:12px;color:#80745b65}.chapter-nav{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:repeat(5,1fr);margin:0 5.7%;background:var(--paper);border-top:1px solid var(--line);border-bottom:3px double var(--line)}.chapter-nav button{position:relative;display:flex;justify-content:center;gap:12px;align-items:center;padding:18px 10px;font-size:17px;white-space:nowrap}.chapter-nav button span{font-size:12px;color:#8a806c}.chapter-nav button:hover{color:var(--red);background:#fff2}.chapter-nav button.active{color:var(--red);font-weight:700}.chapter-nav button.active:after{content:'';position:absolute;bottom:-3px;left:25%;right:25%;height:3px;background:var(--red)}#page-content{position:relative;min-height:500px;outline:none;perspective:1800px}.chapter{padding:56px 6% 65px;background:var(--paper);min-height:560px}.chapter-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:29px;border-bottom:1px solid #a89a7b80;margin-bottom:34px;gap:18px}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--red);margin-bottom:10px}h1{font-size:clamp(27px,3.6vw,38px);font-weight:400;line-height:1.5;letter-spacing:-.035em}.chapter-stamp{border:2px solid #8b392d99;color:#8b392daa;writing-mode:vertical-rl;font-size:20px;padding:8px 4px;line-height:1.2;letter-spacing:.16em;transform:rotate(4deg)}.prologue-art{width:100%;aspect-ratio:2.9;border:1px solid #a6997b33;background:#f4ecd52b;margin-bottom:42px}.intro-line{text-align:center;font-size:23px;margin-bottom:25px;letter-spacing:-.025em}.prologue-copy{max-width:740px;margin:auto;font-size:17px;line-height:2.1;color:#565749;word-break:keep-all}.page-footer{border-top:1px solid #a99c7a77;margin:0 6%;padding:22px 0 28px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.05em;color:var(--muted)}.page-footer button{font-size:14px;color:var(--red)}.audio-player{position:fixed;left:24px;bottom:18px;z-index:20;background:#162922f5;color:#e4d9be;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #8d977b66;box-shadow:0 5px 24px #0003;width:365px;border-radius:2px}.audio-player button{display:grid;place-items:center;color:inherit;padding:4px;width:30px;height:32px;flex-shrink:0}.audio-player svg{fill:currentColor;stroke:currentColor;stroke-width:1.3}.audio-track{flex:1;min-width:85px}.audio-track>div{font-size:11px;display:flex;justify-content:space-between;line-height:1.2;gap:7px}input[type=range]{appearance:none;height:3px;background:#84907855;accent-color:#c7ba96;cursor:pointer;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;width:9px;height:9px;background:#d2c298;border-radius:50%}input[type=range]::-moz-range-thumb{width:9px;height:9px;background:#d2c298;border:0;border-radius:50%}#audio-seek{width:100%;margin:12px 0 2px}#volume{width:59px;margin:0}#volume-label{font-size:11px;width:19px}.status-message{position:fixed;bottom:98px;left:24px;z-index:30;max-width:min(400px,90vw);font-size:14px;color:var(--paper-light);background:var(--green);box-shadow:0 4px 15px #0003}.status-message:not(:empty){padding:10px 18px}.noscript{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;place-content:center}
@media(min-width:1600px){.book-scene{width:390px;height:530px;margin-bottom:52px}.title-label{height:390px;width:139px;right:41px;top:35px;padding-top:28px}.cover-title{font-size:41px}.cover-hanja{font-size:20px}.entry{min-height:760px}}
@media(max-width:760px){.entry{min-height:620px}.entry-top,.entry-bottom{left:22px;right:22px;font-size:11px}.entry-top{top:24px}.entry-side{display:none}.book-scene{width:270px;height:372px;margin-bottom:36px}.title-label{width:102px;height:283px;top:22px;right:25px;padding:18px 12px;gap:12px}.cover-title{font-size:29px}.cover-hanja{font-size:14px}.cover-seal{left:57px;bottom:35px;font-size:22px}.cover-volume{right:45px;bottom:26px;font-size:12px}.cover-frame{inset:12px 12px 12px 31px}.binding{top:24px;bottom:24px}.binding i{width:26px;height:23px}.entry-instruction{font-size:12px}.entry-bottom{font-size:10px}.archive{padding:0 12px 108px}.site-header{height:88px;padding:0 7px}.brand{font-size:16px;gap:10px}.brand small{font-size:10px}.brand-seal{width:35px;height:38px;font-size:23px}.header-note{display:none}.header-edition{font-size:12px}.book-layout{box-shadow:3px 0 0 #b6a991,6px 0 0 #19352e}.masthead{height:124px}.title-art{height:84px}.chapter-nav{margin:0 5%;}.chapter-nav button{flex-direction:column;gap:1px;font-size:13px;padding:11px 1px}.chapter-nav button span{font-size:10px}.chapter{padding:30px 6% 40px}.chapter-heading{margin-bottom:24px;padding-bottom:22px}.eyebrow{font-size:11px;margin-bottom:6px}.chapter-stamp{font-size:17px}.prologue-art{aspect-ratio:1.6;margin-bottom:30px}.intro-line{font-size:21px;text-align:left;word-break:keep-all}.prologue-copy{font-size:16px}.page-footer{font-size:10px;gap:10px}.page-footer>span:first-child{max-width:120px}.page-footer button{font-size:13px}.audio-player{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:365px;padding:11px 13px}.status-message{left:12px;bottom:92px}}
.masthead{background-size:cover;background-position:center}.title-art img{width:100%;height:100%;object-fit:contain;object-position:left}.prologue-art img{width:100%;height:100%;object-fit:contain;display:block}.prologue-copy p+p{margin-top:20px}.prologue-copy .prologue-end{margin-top:32px;text-align:center;color:var(--red)}.mobile-only{display:none}.chapter-directory{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 30px;border-top:1px solid #a6997b55;padding-top:25px;margin-top:48px;font-size:14px}.chapter-directory>span{font-size:12px;color:var(--muted);letter-spacing:.1em}.chapter-directory button{font-size:14px;border-bottom:1px solid #a6997b88;padding:4px}.chapter-directory button:hover{color:var(--red)}.chapter-lead{font-size:17px;color:#626251;line-height:1.95;margin-bottom:32px;word-break:keep-all}.index-tabs{display:flex;gap:0;border:1px solid #b0a38a;margin:0 0 35px;flex-wrap:wrap}.index-tabs button{flex:1;min-height:48px;padding:10px 16px;display:flex;justify-content:center;align-items:center;gap:10px;font-size:15px;white-space:nowrap;border-right:1px solid #b0a38a55;transition:background .2s}.index-tabs button:last-child{border-right:0}.index-tabs button[aria-pressed=true]{background:var(--green);color:var(--paper-light)}.index-tabs button:hover:not([aria-pressed=true]){background:#c2b49144}.index-tabs small{font-size:11px;opacity:.65}.department-heading{display:flex;align-items:center;gap:28px;margin-bottom:16px}.department-heading h2{font-size:30px;font-weight:400}.department-heading .eyebrow{margin-bottom:0}.department-heading>p{border-left:1px solid #aa9c7d77;padding-left:28px;color:#696551;font-size:16px;word-break:keep-all}.department-description{color:var(--muted);font-size:16px;max-width:860px;margin-bottom:35px;word-break:keep-all}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 36px}.person-record{min-width:0}.person-portrait{position:relative;padding-left:53px}.person-name{position:absolute;inset:0 auto 0 0;width:41px;border-top:2px solid var(--ink);display:flex;flex-direction:column;align-items:center;padding-top:9px}.person-name h3{writing-mode:vertical-rl;font-size:27px;font-weight:400;letter-spacing:.13em;line-height:1.3;margin-top:8px}.person-name>span{font-size:10px;line-height:1.4;white-space:nowrap;color:#77715f}.image-shell{position:relative;overflow:hidden;background:#c8bda5}.image-shell>img{width:100%;height:auto;display:block;object-fit:cover}.person-image{aspect-ratio:2}.person-image:after{content:'';position:absolute;inset:0;border:1px solid #322a2026;pointer-events:none}.person-body{padding-left:53px;padding-top:17px}.person-meta{display:flex;flex-wrap:wrap;gap:0;font-size:13px;color:#7a4a36;margin-bottom:15px}.person-meta span+span:before{content:'·';margin:0 9px;color:#a69b81}.person-body>p:not(.person-meta){font-size:16px;line-height:1.9;color:#505346;word-break:keep-all}.spirit-contract{margin-top:21px;border-top:1px solid #a5987b77;border-bottom:1px solid #a5987b77;padding:13px 0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:#7b725d}.small-label{font-size:12px;letter-spacing:.06em;color:#77725e}.spirit-contract strong{font-size:17px;font-weight:400;color:var(--green)}.spirit-contract>span:last-child{flex-basis:100%;padding-left:67px;font-size:12px}.combat-detail{font-size:14px;color:var(--muted);margin-top:11px}.combat-detail summary{cursor:pointer}.combat-detail p{font-size:15px;padding:10px 0}.archive-note{display:flex;gap:28px;background:#d6cab13b;border-top:1px solid #a99b7d77;border-bottom:1px solid #a99b7d77;padding:22px 25px;margin-top:50px}.archive-note>span{font-size:14px;color:var(--red);flex-shrink:0;padding-top:2px}.archive-note p{font-size:15px;color:#62604e;line-height:1.9;word-break:keep-all}.grade-tabs button{gap:12px}.grade-heading{display:flex;gap:20px;align-items:center;margin-bottom:28px;padding:0 0 24px;border-bottom:1px solid #a89a7b80}.grade-mark{display:grid;place-content:center;writing-mode:vertical-rl;flex-shrink:0;width:51px;height:65px;border:1px solid #7b6a4e;color:#7b6a4e;line-height:1.2;font-size:21px;letter-spacing:.1em}.grade-heading[data-level="3"] .grade-mark,.grade-heading[data-level="4"] .grade-mark{color:var(--red);border-color:var(--red)}.grade-heading h2{font-size:27px;font-weight:400;line-height:1.5}.grade-heading h2 small{font-size:14px;color:#7b725d;margin-left:15px}.grade-heading>div>p{font-size:14px;color:var(--muted);margin-top:8px;word-break:keep-all}.record-count{margin-left:auto;flex-shrink:0;font-size:12px;color:#7b725d}.monsters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.monster-record{min-width:0}.monster-image{aspect-ratio:1216/832;background:#252a22}.monster-caption{position:absolute;inset:auto 0 0;padding:55px 25px 20px;color:#f2e7cf;background:linear-gradient(transparent,#131b17f0);pointer-events:none}.monster-caption>span{font-size:11px;letter-spacing:.2em;color:#d0c3a5}.monster-caption h3{font-size:33px;line-height:1.5;font-weight:400;letter-spacing:.03em}.monster-caption p{font-size:13px;opacity:.72}.monster-description{padding:22px 3px 0}.monster-description section+section{margin-top:23px}.monster-description h4{font-size:17px;font-weight:400;padding-bottom:11px;border-bottom:1px solid #b4a78b66;margin-bottom:13px;color:var(--red)}.monster-description h4 span{font-size:12px;margin-right:8px;color:#9c8c6c}.monster-description p{font-size:16px;color:#515446;line-height:2;word-break:keep-all}.monsters-grid:has(.monster-record:only-child){grid-template-columns:1fr}.monster-record:only-child .monster-image{max-width:800px;margin:auto}.monster-record:only-child .monster-description{display:grid;grid-template-columns:1fr 1fr;gap:35px}.monster-record:only-child .monster-description section+section{margin-top:0}.image-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--paper-light);background:#364038;font-size:14px;padding:20px;text-align:center}.image-fallback>span{font-size:24px}.retry-image{color:inherit;font-size:12px;text-decoration:underline;z-index:1;padding:8px}.monster-image .image-fallback{justify-content:flex-start;padding-top:22px}.conversation{display:grid;grid-template-columns:250px minmax(0,1fr);gap:45px;padding:6px 0 24px;align-items:start}.speaker-card{position:relative;padding:30px 27px 50px;background:var(--green);color:var(--paper-light);min-height:327px}.speaker-card>.small-label{color:#c1b9a2;font-size:11px}.speaker-card h2{font-size:31px;font-weight:400;margin-top:12px;letter-spacing:.1em}.speaker-role{color:#bfb699;font-size:13px}.speaker-rule{width:28px;height:1px;background:#9f977a77;margin:24px 0}.speaker-card blockquote{margin:0;font-size:18px;line-height:1.9;word-break:keep-all}.speaker-seal{display:block;color:#bd7560;border:1px solid #bd7560aa;width:max-content;line-height:1;padding:7px 4px;margin-top:30px;font-size:17px;transform:rotate(-4deg)}.question{border-bottom:1px solid #a7997b8a}.question:first-child{border-top:1px solid #a7997b8a}.question summary{list-style:none;display:flex;align-items:center;gap:15px;padding:24px 0;font-size:18px;cursor:pointer;line-height:1.7}.question summary::-webkit-details-marker{display:none}.question-number{font-size:12px;color:#9a8464;flex-shrink:0}.plus{margin-left:auto;position:relative;flex-shrink:0;width:14px;height:14px}.plus:before,.plus:after{content:'';position:absolute;background:#877450}.plus:before{width:12px;height:1px;top:6px;left:1px}.plus:after{width:1px;height:12px;left:6px;top:1px}.question[open] .plus:after{display:none}.answer{padding:0 3px 28px 33px;font-size:16px;color:#535445;line-height:2;word-break:keep-all}.answer strong{display:block;font-size:14px;font-weight:700;color:var(--red);margin-bottom:12px}.synchrony-note{border-top:1px solid #a7997b8a;padding-top:28px;margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;font-size:15px}.synchrony-note>div{display:flex;flex:1;min-width:240px;align-items:center;gap:15px;font-size:12px}.synchrony-line{flex:1;height:4px;background:linear-gradient(90deg,#7b8a6f,#973e2e);min-width:30px}.synchrony-note small{flex-basis:100%;color:#7a705c;font-size:13px}.badge-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.badge-example{position:relative;background:#263a32;color:#e3dcc5;padding:25px 30px 35px;border:1px solid #52624e;box-shadow:inset 0 0 0 6px #263a32,inset 0 0 0 7px #a6a48744}.badge-example-title{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid #b4b79a44;padding-bottom:12px;color:#b8b69b}.badge-example-title button{color:#dfd5b9;font-size:12px;border-bottom:1px solid #b4b79a66;padding:0 3px}.badge-example pre{font-family:var(--font);font-size:16px;line-height:2;margin:21px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.badge-example code{font:inherit}.badge-seal{position:absolute;bottom:26px;right:25px;writing-mode:vertical-rl;font-size:17px;letter-spacing:.12em;border:1px solid #c06b52;color:#c06b52;padding:6px 2px;line-height:1.2;opacity:.6;pointer-events:none}.badge-guide h2{font-size:25px;font-weight:400;margin-bottom:18px}.badge-guide dl{margin:0}.badge-guide dl>div{display:grid;grid-template-columns:50px 1fr;gap:15px;padding:14px 0;border-bottom:1px solid #aa9b7c66;font-size:15px}.badge-guide dt{color:var(--red)}.badge-guide dd{margin:0;color:#5d5d4c;word-break:keep-all}.hud-example{margin-top:34px;border-left:2px solid #928065;padding:3px 0 3px 20px;color:#68614e}.hud-example>.small-label{display:block;margin-bottom:8px}.hud-example code{display:block;font-family:var(--font);font-size:14px;overflow-wrap:anywhere}.hud-example p{font-size:13px;margin-top:8px}.art-guide{margin-top:58px;border-top:3px double #aa9b7c88;padding-top:38px}.subsection-heading h2{font-size:29px;font-weight:400;margin-bottom:15px}.subsection-heading>p:last-child{font-size:15px;max-width:750px;color:#6f6855;word-break:keep-all;margin-bottom:26px}.art-tabs{margin-bottom:0}.art-description{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;padding:27px;border:1px solid #b0a38a;border-top:0;background:#eee5d0;min-height:260px}.art-description h3{font-size:22px;font-weight:400;margin-bottom:12px}.art-description p:not(.eyebrow){font-size:15px;color:#66634f;word-break:keep-all}.art-description p+p{margin-top:10px}.art-example{padding-left:28px;border-left:1px solid #b0a38a77;display:flex;flex-direction:column;justify-content:center}.art-example strong{font-size:20px;color:var(--red);font-weight:400;margin:12px 0}.relationship-guide{margin-top:35px;border-top:1px solid #ad9d7b99;border-bottom:1px solid #ad9d7b99}.relationship-guide summary{font-size:16px;cursor:pointer;padding:18px 0}.relationship-guide summary>span{font-size:12px;margin-left:20px;color:#867a61}.relationship-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:10px 0 25px;font-size:13px;color:#635d4d}.relationship-grid>div{display:flex;gap:12px;align-items:center}.relationship-grid>div>span{font-family:system-ui,sans-serif;font-size:20px}.relationship-note{font-size:13px;color:#7a6d56;margin-bottom:20px}.turning-sheet{position:absolute;inset:0 0 auto;z-index:5;pointer-events:none;max-height:1100px;overflow:hidden;backface-visibility:hidden;box-shadow:30px 0 60px #28211033}.turning-sheet:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#5d482033,transparent 10%,transparent 65%,#322e2244);pointer-events:none}.is-muted{opacity:.4}
@media(max-width:1050px){.people-grid{gap:35px 23px}.person-portrait{padding-left:44px}.person-name{width:34px}.person-name h3{font-size:24px}.person-name>span{font-size:9px}.person-body{padding-left:44px}.conversation{grid-template-columns:220px 1fr;gap:28px}.badge-layout{gap:30px}.badge-example{padding:23px}.badge-example pre{font-size:14px}.grade-heading h2 small{display:block;margin:5px 0 0}.record-count{display:none}}
@media(max-width:760px){.mobile-only{display:block}.chapter-lead{font-size:15px;margin-bottom:25px}.chapter-directory{gap:10px 20px}.chapter-directory>span{flex-basis:100%;text-align:center}.index-tabs{margin-bottom:25px;flex-wrap:nowrap}.index-tabs button{font-size:13px;padding:10px 3px;gap:5px;min-width:0;white-space:normal}.index-tabs small{font-size:10px}.department-heading{gap:16px;align-items:center}.department-heading h2{font-size:25px}.department-heading>p{padding-left:16px;font-size:14px;flex:1}.department-description{font-size:15px;line-height:1.9;margin-bottom:29px}.people-grid{grid-template-columns:1fr;gap:38px}.person-portrait{padding-left:42px}.person-name{width:33px}.person-name h3{font-size:25px}.person-name>span{font-size:9px}.person-body{padding-left:42px;padding-top:13px}.person-body>p:not(.person-meta){font-size:16px}.person-meta{font-size:12px;gap:0;line-height:1.9;margin-bottom:12px}.person-meta span+span:before{margin:0 6px}.spirit-contract{gap:5px 9px}.spirit-contract>span:last-child{padding-left:0;font-size:12px}.spirit-contract .small-label{font-size:11px}.archive-note{display:block;padding:18px;margin-top:33px}.archive-note>span{display:block;margin-bottom:10px}.archive-note p{font-size:14px}.grade-tabs button{gap:5px}.grade-heading{gap:13px;align-items:flex-start}.grade-mark{width:42px;height:61px;font-size:20px}.grade-heading h2{font-size:24px}.grade-heading h2 small{font-size:12px;word-break:keep-all}.grade-heading>div>p{font-size:13px}.monsters-grid{grid-template-columns:1fr;gap:35px}.monster-caption{padding:35px 18px 17px}.monster-caption h3{font-size:30px}.monster-caption p{font-size:11px}.monster-description{padding-top:19px}.monster-description p{font-size:16px;line-height:2}.monster-record:only-child .monster-description{display:block}.monster-record:only-child .monster-description section+section{margin-top:23px}.conversation{grid-template-columns:1fr;gap:25px;padding-top:0}.speaker-card{min-height:0;padding:22px 24px 24px}.speaker-card h2{font-size:28px;margin-top:5px}.speaker-role{position:absolute;right:24px;top:60px}.speaker-rule{margin:17px 0}.speaker-card blockquote{font-size:17px;max-width:80%}.speaker-seal{position:absolute;right:25px;bottom:25px;margin:0}.question summary{font-size:16px;gap:11px;padding:20px 0}.answer{padding:0 0 23px 25px;font-size:16px}.badge-layout{grid-template-columns:1fr;gap:30px}.badge-example{padding:22px}.badge-example pre{font-size:14px;line-height:2}.badge-guide h2{font-size:23px}.badge-guide dl>div{font-size:15px}.hud-example{padding-left:15px}.hud-example code{font-size:13px;line-height:2}.art-guide{margin-top:35px;padding-top:30px}.subsection-heading h2{font-size:25px}.subsection-heading>p:last-child{font-size:14px}.art-tabs{margin-bottom:0}.art-description{grid-template-columns:1fr;gap:20px;padding:21px}.art-description h3{font-size:22px}.art-example{padding:18px 0 0;border:0;border-top:1px solid #b0a38a77}.art-example strong{font-size:19px}.relationship-grid{grid-template-columns:repeat(2,minmax(0,1fr));font-size:12px;gap:14px 8px}.relationship-grid>div{gap:8px}.relationship-guide summary{font-size:15px}.relationship-guide summary>span{font-size:11px;margin-left:10px}}
@media(max-width:360px){.book-scene{width:240px;height:340px}.title-label{height:258px;width:94px;right:21px}.cover-title{font-size:26px}.cover-hanja{font-size:13px}.chapter-nav button{font-size:12px}.person-body{padding-left:0}.person-name h3{font-size:22px}.index-tabs button{font-size:12px}.index-tabs small{display:none}.badge-example{padding:20px 16px}.badge-example pre{font-size:13px}.relationship-guide summary>span{display:block;margin-left:20px}}
/* Stronger ink and a single flattened face keep every cover mark on the paper. */
body{font-weight:700;--muted:#514d40;--ink:#20251f}
h1,h2,h3,h4,.brand small,.cover-volume,.spirit-contract strong,.art-example strong,.speaker-card h2,.grade-heading h2,.person-name h3,.department-heading h2,.badge-guide h2,.subsection-heading h2,.art-description h3{font-weight:700}
.chapter-lead,.prologue-copy,.department-description,.department-heading>p,.grade-heading>div>p,.monster-description p,.answer,.badge-guide dd,.art-description p:not(.eyebrow),.archive-note p{color:#464a3e}
.small-label,.person-name>span,.hud-example,.subsection-heading>p:last-child,.relationship-grid{color:#59513f}
.eyebrow,.chapter-nav button span,.page-footer,.header-note,.header-edition{font-weight:700}
.entry-top,.entry-bottom{color:#d8ccb5}.entry-side{color:#cbb99a}.entry-audio{color:#c1b298}
.book-cover{transform-style:flat;isolation:isolate;-webkit-backface-visibility:hidden;will-change:transform}
.cover-face{position:absolute;inset:0;display:block;transform-style:flat;isolation:isolate;backface-visibility:hidden;-webkit-backface-visibility:hidden;pointer-events:none}
.cover-face *{pointer-events:none}.book-scene{filter:none}.book-paper{box-shadow:4px 3px 0 #111f1a,7px 6px 0 #111f1a,22px 30px 35px #050706a0}
.chapter,.turning-sheet{transform-style:flat;isolation:isolate}
.masthead{height:auto;aspect-ratio:1408/704;background-size:cover;background-position:center}
.masthead:after{background:linear-gradient(180deg,transparent 56%,#e9dfc833 72%,var(--paper) 100%)}
.title-art{z-index:1;left:5%;top:21%;width:45%;height:38%;filter:drop-shadow(0 3px 9px #06101999)}
.title-art img{object-position:left center}.record-trigger{display:block;width:100%;padding:0;text-align:left;color:inherit;position:relative;border:0}
.record-trigger:focus-visible{outline:3px solid var(--red);outline-offset:5px}.record-trigger img{transition:filter .2s ease}
.record-trigger:hover img{filter:brightness(1.1)}.record-hint{position:absolute;right:12px;bottom:12px;color:#f5ecd7;background:#172c25e8;padding:4px 11px;font-size:12px;letter-spacing:.04em;border:1px solid #d6c39a88;pointer-events:none}
.monster-caption{padding-bottom:23px}.monster-caption>strong{display:block;font-size:33px;line-height:1.5;letter-spacing:.03em}
.monster-caption>span{font-size:12px;color:#e5d8b9}.monster-image .record-hint{bottom:24px}.monsters-grid:has(.monster-record:only-child){max-width:800px;margin:auto}
.record-open{position:fixed;left:0;right:0;overflow:hidden}.record-dialog{padding:0;border:1px solid #938363;background:var(--paper-light);color:var(--ink);width:min(860px,calc(100% - 48px));max-height:88svh;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 100px #0009;font-family:var(--font);font-weight:700;scrollbar-color:#8c8067 var(--paper)}
.record-dialog::backdrop{background:#091711cf;backdrop-filter:blur(4px)}
.dialog-header{position:sticky;top:0;z-index:2;background:#243a32;color:#efe4c9;display:flex;justify-content:space-between;align-items:center;padding:12px 25px;gap:15px;border-bottom:1px solid #b8a884}
.dialog-header>span{font-size:14px;letter-spacing:.04em}.dialog-header button{color:inherit;font-size:14px;min-width:70px;min-height:44px;padding:4px}.dialog-header button>span{font-family:system-ui,sans-serif;font-size:24px;margin-left:10px;vertical-align:-2px}
.dialog-portrait{width:100%;max-height:390px;aspect-ratio:auto}.dialog-portrait>img{max-height:390px;object-fit:contain;background:#1d2b24}.dialog-portrait .image-fallback{min-height:100px}
.dialog-copy{padding:30px 42px 44px}.dialog-copy h2{font-size:34px;line-height:1.5;margin-bottom:12px;color:#243a32}.dialog-copy .person-meta{font-size:15px;margin-bottom:25px}.dialog-copy section{margin-top:24px}.dialog-copy section h3{font-size:18px;color:var(--red);padding-bottom:10px;margin-bottom:13px;border-bottom:1px solid #b3a17c80}.dialog-copy section p{font-size:17px;line-height:2;color:#363e31;word-break:keep-all}.dialog-copy .spirit-contract{font-size:14px}.dialog-copy .spirit-contract strong{font-size:20px}.subsection-heading{margin-bottom:24px}
@media(max-width:760px){.masthead{aspect-ratio:1408/704;min-height:180px}.title-art{left:5%;top:22%;width:53%;height:38%}.chapter-nav button{font-size:14px}.chapter-lead,.department-description{font-size:16px}.index-tabs button{font-size:14px}.record-hint{font-size:12px;right:8px;bottom:8px;padding:3px 8px}.monster-image .record-hint{bottom:18px}.monster-caption>strong{font-size:29px}.record-dialog{width:calc(100% - 20px);max-height:92svh}.dialog-header{padding:8px 16px}.dialog-header>span{font-size:13px}.dialog-copy{padding:23px 23px 32px}.dialog-copy h2{font-size:29px}.dialog-copy section p{font-size:16px;line-height:1.95}.dialog-copy .person-meta{font-size:14px}.dialog-portrait,.dialog-portrait>img{max-height:280px}}
@media(max-width:360px){.chapter-nav button,.index-tabs button{font-size:12px}.dialog-copy{padding:20px 18px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* The two prologue images stay at their natural ratio, capped at 800px. */
.prologue-art{width:min(800px,100%);aspect-ratio:auto;display:grid;gap:24px;border:0;background:none;margin:0 auto 42px}.prologue-art img{display:block;width:100%;max-width:800px;height:auto;object-fit:contain}

/* Six chapters and the eight facilities of Jinmyeongsa. */
.masthead{width:100%}.chapter-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.chapter-nav button{gap:8px;font-size:16px}
.facility-group+.facility-group{margin-top:46px}.facility-group-heading{border-bottom:3px double #a99b7a;padding-bottom:18px;margin-bottom:26px}.facility-group-heading h2{font-size:27px}.facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 34px}.facility-record{border-top:1px solid #9d8c6b;padding:23px 0 0}.facility-title{display:flex;align-items:flex-start;gap:17px;margin-bottom:17px}.facility-number{font-size:14px;color:var(--red);padding-top:9px}.facility-title h3{font-size:28px;line-height:1.5;color:var(--green)}.facility-title p{font-size:14px;color:var(--red);margin-top:6px}.facility-description{font-size:17px;line-height:2;word-break:keep-all;color:#363e31}.facility-rooms{list-style:none;margin:20px 0 0;padding:14px 0 0;border-top:1px solid #a89a7b66;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:#5c503b}.facility-rooms li:before{content:'·';margin-right:7px;color:var(--red)}
@media(max-width:900px){.chapter-nav button{font-size:14px;gap:5px}}
@media(max-width:760px){.chapter-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.chapter-nav button{flex-direction:row;gap:8px;padding:12px 4px;font-size:14px}.chapter-nav button:nth-child(-n+3){border-bottom:1px solid #b5a88c55}.chapter-nav button.active:after{bottom:0}.facility-grid{grid-template-columns:1fr;gap:28px}.facility-group+.facility-group{margin-top:35px}.facility-title h3{font-size:25px}.facility-description{font-size:16px}.facility-rooms{font-size:13px}.facility-group-heading h2{font-size:24px}}
