.modal {
    max-width: 600px;
}
.modal ul {
    list-style: disc;
    padding-left: 40px;
}
.modal ol {
    padding-left: 40px;
}
#settingModal, #helpModal {
    font-size: 1.5em;
}
.btn-circle {
    width: 30px;
    height: 30px;
    border-radius: 30px;
    background-color: rgba(159, 200, 248, 0.5);
    font-size: 15px;
    text-align: center;
}
#history2 {
    white-space: nowrap;
    overflow: hidden;
    /* JS가 아닌 브라우저가 정확한 전체 너비를 자동 계산하도록 강제 */
    width: max-content !important;
    padding-right: 15px !important; /* 우측이 답답하지 않도록 여유 공간 부여 */
}
.history_item {
    height: 30px;
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    display: inline-block;
    margin-left: 5px;
    padding: 4px 0 2px 2px;
    white-space: nowrap;
}
/*.history_item button {*/
/*    background-color: transparent;*/
/*    border: none;*/
/*    border-top-left-radius: 4px;*/
/*    border-bottom-left-radius: 4px;*/
/*    color: #888;*/
/*    cursor: pointer;*/
/*    font-size: 1em;*/
/*    font-weight: 700;*/
/*    padding: 0 4px;*/
/*}*/
.history_item_text {
    cursor: pointer;
    padding-left: 2px;
    padding-right: 5px;
    vertical-align: middle;
}

/* 히스토리 번호 뱃지 스타일 */
.history_index {
    display: inline-block;
    background-color: #cccccc;
    color: #ffffff !important;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 6px;
    border-radius: 10px;
    border: 1px solid #999999;
    margin-right: 4px;
    vertical-align: middle;
    line-height: 1;
    text-align: center;
    min-width: 12px;
}
.clearfix:before, .clearfix:after {
    display: table;
    content: " ";
}
.clearfix:after {
    clear: both;
}
.no-drag {
    -ms-user-select: none;
    -moz-user-select: -moz-none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    user-select: none;
}
.bible_list {
    width: 150px;
    height: 26px;
    font-size: 20px;
    padding: 3px;
    margin: 2px;
    float: left;
    cursor: pointer;
}
.bible_list:hover {
    background-color: #0f75ac;
}
#textBible, .bible-select, .title-td, .text-div, .list-table, .list-td {
    font-size: 16px;
    color: #000000;
    font-family: 'Nanum Gothic';
}
#textBible {
    padding: 6px;
    background-color: #ffffff;
    margin-top: 6px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
#selectTable {
    width: 100%;
    table-layout: fixed;
    background-color: #cccccc;
    margin-bottom: 6px;
}
.bible-select {
    width: 100%;
    cursor: pointer;
    text-align-last: center;
    font-weight: bold;
    padding: 12px;
    background-color: #eeeeee;
    border: none;
    -webkit-appearance: none;
}
.bible-select:focus {
    outline: none !important;
}
.bible-option {
    background-color: #eeeeee;
}
.title-td {
    text-align: center;
    font-weight: bold;
    background-color: #eeeeee;
    padding: 12px;
}
.text-div {
    margin-top: 10px;
}
.text-div span {
    font-size: 2em;
    font-weight: 900;
    line-height: 150%;
    text-align: left;
    vertical-align: middle;
}
.text-div ol li::marker {
    font-family: 'tahoma';
    font-weight: 900;
    content: counter(list-item) " ";
    font-size: 1em;
    vertical-align: super;
}
#textBible.ff1 .text-div span {
    font-family: 'Nanum Gothic' !important;
}
#textBible.ff2 .text-div span {
    font-family: 'Nanum Myeongjo' !important;
}
#textBible.fs1 .text-div span {
    font-size: 2em !important;
}
#textBible.fs1 .text-div ol {
    padding-left: 40px;
    margin-bottom: 20px;
}
#textBible.fs1 .text-div ol li::marker {
    font-size: 1em;
}
#textBible.fs2 .text-div span {
    font-size: 2.5em !important;
}
#textBible.fs2 .text-div ol {
    padding-left: 40px;
    margin-bottom: 20px;
}
#textBible.fs2 .text-div ol li::marker {
    font-size: 1em;
}
#textBible.fs3 .text-div span {
    font-size: 3em !important;
}
#textBible.fs3 .text-div ol {
    padding-left: 60px;
    margin-bottom: 30px;
}
#textBible.fs3 .text-div ol li::marker {
    font-size: 1.5em;
}
#textBible.fs4 .text-div span {
    font-size: 3.5em !important;
}
#textBible.fs4 .text-div ol {
    padding-left: 60px;
    margin-bottom: 30px;
}
#textBible.fs4 .text-div ol li::marker {
    font-size: 1.5em;
}
#textBible.fs5 .text-div span {
    font-size: 4em !important;
}
#textBible.fs5 .text-div ol {
    padding-left: 80px;
    margin-bottom: 40px;
}
#textBible.fs5 .text-div ol li::marker {
    font-size: 2em;
}
#textBible.fs6 .text-div span {
    font-size: 4.5em !important;
}
#textBible.fs6 .text-div ol {
    padding-left: 80px;
    margin-bottom: 40px;
}
#textBible.fs6 .text-div ol li::marker {
    font-size: 2em;
}
#textBible.fs7 .text-div span {
    font-size: 5em !important;
}
#textBible.fs7 .text-div ol {
    padding-left: 100px;
    margin-bottom: 50px;
}
#textBible.fs7 .text-div ol li::marker {
    font-size: 2.5em;
}
#textBible.fs8 .text-div span {
    font-size: 5.5em !important;
}
#textBible.fs8 .text-div ol {
    padding-left: 100px;
    margin-bottom: 50px;
}
#textBible.fs8 .text-div ol li::marker {
    font-size: 2.5em;
}
#selSave {
    padding: 0 10px;
}
.list-table {
    width: 100%;
    font-weight: bold;
    background-color: #eeeeee;
    padding: 12px;
    border: 1px solid #cccccc;
}
.number-button {
    font-size: 14px;
    color: #000000;
    font-family: 'Nanum Gothic';
    cursor: pointer;
    padding: 6px;
    text-align: center;
    background-color: #ffffff;
    margin-top: 1px;
    border: 1px solid #cccccc;
}
.sub-button:hover {
    background-color: #fff8cb;
}
.list-td {
    text-align: center;
    background-color: #ffffff;
    padding: 8px;
}

/* 포커스된 절 배경 및 기본 스타일 */
.focused-verse {
    background-color: #fff2cc !important;
    border-radius: 8px;
    padding-top: 10px !important; /* 상단이 잘리지 않도록 여백을 5px -> 10px로 확보 */
    padding-bottom: 10px !important;
    transition: all 0.3s ease;
}
.focused-verse > li > span {
    color: #b71c1c !important;
    font-weight: 900 !important;
    vertical-align: top !important; /* 중앙 정렬(middle)을 상단(top) 정렬로 변경하여 아래로만 커지게 함 */
    line-height: 140% !important; /* 커진 글꼴에 맞춰 줄간격 미세 조정 */
}
.focused-verse > li::marker {
    color: #b71c1c !important;
    font-weight: 900 !important;
}

/* 현재 설정된 크기보다 1단계(0.5em) 더 크게 확대 */
#textBible.fs1 .focused-verse > li > span { font-size: 2.5em !important; }
#textBible.fs1 .focused-verse > li::marker { font-size: 1em !important; }

#textBible.fs2 .focused-verse > li > span { font-size: 3em !important; }
#textBible.fs2 .focused-verse > li::marker { font-size: 1.5em !important; }

#textBible.fs3 .focused-verse > li > span { font-size: 3.5em !important; }
#textBible.fs3 .focused-verse > li::marker { font-size: 1.5em !important; }

#textBible.fs4 .focused-verse > li > span { font-size: 4em !important; }
#textBible.fs4 .focused-verse > li::marker { font-size: 2em !important; }

#textBible.fs5 .focused-verse > li > span { font-size: 4.5em !important; }
#textBible.fs5 .focused-verse > li::marker { font-size: 2em !important; }

#textBible.fs6 .focused-verse > li > span { font-size: 5em !important; }
#textBible.fs6 .focused-verse > li::marker { font-size: 2.5em !important; }

#textBible.fs7 .focused-verse > li > span { font-size: 5.5em !important; }
#textBible.fs7 .focused-verse > li::marker { font-size: 2.5em !important; }

/* fs8이 최대치이므로 1단계 더 큰 6em 적용 */
#textBible.fs8 .focused-verse > li > span { font-size: 6em !important; }
#textBible.fs8 .focused-verse > li::marker { font-size: 3em !important; }

/* 이전 위치로 돌아가기 (U턴) 플로팅 버튼 */
#btn_go_back {
    display: none; /* 기본적으로 숨김 (저장된 위치가 있을 때만 표시) */
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 45px;
    height: 45px;
    background-color: #0f75ac;
    color: #ffffff;
    border-radius: 50%;
    text-align: center;
    line-height: 45px;
    font-size: 20px;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
    z-index: 9999;
    transition: background-color 0.3s;
}
#btn_go_back:hover {
    background-color: #0b5a85;
}

/* 우측 상단 돌아가기 뱃지 스타일 */
#return_badge {
    display: inline-block;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 15px;
    padding: 2px 10px 2px 4px;
    font-size: 13px;
    vertical-align: middle;
    cursor: pointer;
    margin-right: 15px; /* 우측 설정 박스들과의 간격 */
    transition: all 0.2s;
    white-space: nowrap;
}
#return_badge:hover {
    background-color: #f1f1f1;
    border-color: #b71c1c;
}
#return_badge .history_index {
    background-color: #b71c1c !important; /* 복귀 버튼은 붉은색 포인트 */
    border-radius: 50%;
    padding: 3px 5px;
}
#return_badge .history_item_text {
    font-weight: bold;
    color: #333;
}