body { font-family: Arial, sans-serif; line-height: 1.6; margin: 20px; padding: 0; }
.container { 
    max-width: 800px; 
    margin: auto; 
    padding: 20px; 
    font-size: 1rem;
    /*border: 1px solid #ddd; 
    border-radius: 8px; 
    box-shadow: 0 0 10px rgba(0,0,0,0.1);*/ }
.book-title { 
    color: #333;
    padding-bottom: 10px;
    font-size: 2.2rem;
    margin-bottom: 100px;
    }
.book-title .subtitle {
    font-size: 1.5rem;
}
.book-author {
    font-style: italic;
    color: #888;
    border-bottom: 2px solid #1d2088;
    padding-bottom: 60px;
    }
.book-id { font-size: 0.9em; color: #888; }
.chapter {
    margin-top: 25px;
    /*<!-- border-left: 3px solid #007bff;*/
    /*padding-left: 15px; -->*/
}
.chapter-title {
    color: #1d2088;
    background-color: unset;
    margin-bottom: 0;
}

.chapter-title-sub {
    color: #1d2088;
    font-style: italic;
    background-color: unset;
    padding: 0px 0 20px 0;
    margin: 0;
    font-size: 0.98rem;
}

.section-body { margin-top: 15px; }
p { margin-bottom: 10px; }
p.based-on {
    margin: 0;
}
pre.poem {
    font-family: Arial, sans-serif;
}

pre.poem b {
    padding-bottom: 16px;
    display: inline-block;
}

.section {margin-bottom: 40px}
.section.author {
    /*line-height: 0.8;*/
    margin-top: 80px;
}

.back-matter > .title {
    color: #1d2088;
    font-size: 1.18rem;
    font-weight: bold;
}
.title { color: #555252; font-weight: bold; font-size: 16px}
.section .title { color: #979797;}

/* 링크 스타일 추가 */
a {
    color: #007bff;
    text-decoration: none;
    word-break: break-all;
}
a:hover { text-decoration: underline; }

/* 참조 링크 스타일 */
.citation { font-size: 0.8em; vertical-align: super; }
.ref-list { margin-top: 40px; font-size: 0.9em; }
.ref-list h4 { margin-bottom: 10px; border-bottom: 1px solid #ccc; padding-bottom: 5px; }
.ref-item { margin-bottom: 10px; }
.ref-item a { word-break: break-all; }
.ref-list a { color: #555; }
.toc { margin-bottom: 30px; }
.toc h2 { border-bottom: 2px solid #333; padding-bottom: 10px; }
.toc ul { list-style-type: none; padding-left: 20px; }
.toc li { margin-bottom: 5px; }

@media screen and (max-width: 767px) {
  .container { 
    max-width: 800px;
    font-size: 1.4rem;
  }
  .chapter-title-sub {
    font-size: 1.3rem;
  }

}