/* /Components/AccountMenu.razor.rz.scp.css */
.header-account-menu[b-glvl8asdfr] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.header-account-divider[b-glvl8asdfr] {
    width: 1px;
    height: 24px;
    margin: 0 10px 0 -2px;
    background: #e4e2dc;
}

.header-account-trigger[b-glvl8asdfr] {
    position: relative;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #5b5a54;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    transition:
        background-color 120ms ease,
        color 120ms ease;
}

.header-account-trigger:hover[b-glvl8asdfr],
.header-account-trigger.active[b-glvl8asdfr] {
    background: #F3E8EA;
    color: #6B2F3C;
}

.header-account-icon[b-glvl8asdfr] {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.header-account-avatar[b-glvl8asdfr] {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #6B2F3C;
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
}

.header-account-label[b-glvl8asdfr] {
    line-height: 1;
}

.header-account-indicator[b-glvl8asdfr] {
    position: absolute;
    right: 6px;
    top: 6px;
    width: 7px;
    height: 7px;
    border: 1.5px solid #ffffff;
    border-radius: 50%;
    background: #b7b4aa;
}

.header-account-indicator.online[b-glvl8asdfr] {
    background: #4f8a66;
}

.header-account-indicator.offline[b-glvl8asdfr] {
    background: #c29445;
}

.header-account-popover[b-glvl8asdfr] {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    z-index: 140;
    width: 420px;
    display: grid;
    gap: 20px;
    padding: 28px;
    border: none;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(36, 36, 33, 0.14);
}

.account-popover-heading[b-glvl8asdfr] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.account-avatar[b-glvl8asdfr] {
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #6B2F3C;
    color: #ffffff;
    font-size: 19px;
    font-weight: 600;
}

.account-heading-text[b-glvl8asdfr] {
    min-width: 0;
}

.account-popover-title[b-glvl8asdfr] {
    color: #2c2c29;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
}

.account-email[b-glvl8asdfr] {
    margin-top: 4px;
    overflow: hidden;
    color: #78776f;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-session-status[b-glvl8asdfr] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 2px 0;
    color: #5f5e58;
    font-size: 15px;
    font-weight: 500;
}

.account-session-dot[b-glvl8asdfr] {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #b7b4aa;
}

.account-session-status.online .account-session-dot[b-glvl8asdfr] {
    background: #4f8a66;
}

.account-session-status.offline .account-session-dot[b-glvl8asdfr] {
    background: #c29445;
}

.account-help-text[b-glvl8asdfr] {
    color: #6b6a62;
    font-size: 14.5px;
    line-height: 1.65;
}

.account-auth-header[b-glvl8asdfr] {
    display: grid;
    gap: 5px;
}

.account-mode-tabs[b-glvl8asdfr] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 3px;
    border-radius: 8px;
    background: #f3f2ee;
}

.account-mode-tab[b-glvl8asdfr] {
    min-height: 34px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #7a7972;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
}

.account-mode-tab.selected[b-glvl8asdfr] {
    background: #ffffff;
    color: #6B2F3C;
    box-shadow: 0 1px 3px rgba(36, 36, 33, 0.08);
}

.account-field[b-glvl8asdfr] {
    display: grid;
    gap: 6px;
}

.account-field > span[b-glvl8asdfr] {
    color: #6c6b64;
    font-size: 12px;
    font-weight: 500;
}

.account-field input[b-glvl8asdfr] {
    width: 100%;
    min-width: 0;
    height: 46px;
    padding: 0 14px;
    border: 1px solid #dcd9d0;
    border-radius: 9px;
    outline: none;
    background: #ffffff;
    color: #32322f;
    font: inherit;
    font-size: 15px;
    box-sizing: border-box;
}

.account-field input:focus[b-glvl8asdfr] {
    border-color: #6B2F3C;
    box-shadow: 0 0 0 3px rgba(107, 47, 60, 0.12);
}

.account-message[b-glvl8asdfr] {
    padding: 9px 10px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.45;
}

.account-message.error[b-glvl8asdfr] {
    background: #f8ece8;
    color: #9a4435;
}

.account-message.success[b-glvl8asdfr] {
    background: #edf5ef;
    color: #4d755b;
}

.account-auth-actions[b-glvl8asdfr] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.account-primary-button[b-glvl8asdfr],
.account-secondary-button[b-glvl8asdfr],
.account-secondary-wide-button[b-glvl8asdfr],
.account-logout-button[b-glvl8asdfr] {
    min-height: 48px;
    border-radius: 10px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
}

.account-primary-button[b-glvl8asdfr] {
    min-width: 92px;
    padding: 0 14px;
    border: none;
    background: #6B2F3C;
    color: #ffffff;
}

.account-secondary-button[b-glvl8asdfr] {
    min-width: 68px;
    padding: 0 12px;
    border: 1px solid #ddd9cf;
    background: #ffffff;
    color: #66655f;
}

.account-secondary-wide-button[b-glvl8asdfr],
.account-logout-button[b-glvl8asdfr] {
    width: 100%;
}

.account-secondary-wide-button[b-glvl8asdfr] {
    border: 1px solid #ddd9cf;
    background: #ffffff;
    color: #5e5d57;
}

.account-logout-button[b-glvl8asdfr] {
    border: none;
    background: transparent;
    color: #9a5344;
}

.account-primary-button:disabled[b-glvl8asdfr],
.account-secondary-button:disabled[b-glvl8asdfr],
.account-secondary-wide-button:disabled[b-glvl8asdfr],
.account-logout-button:disabled[b-glvl8asdfr] {
    opacity: 0.5;
    cursor: default;
}

.account-secondary-button:hover[b-glvl8asdfr],
.account-secondary-wide-button:hover[b-glvl8asdfr] {
    background: #f4f3ef;
}

.account-logout-button:hover[b-glvl8asdfr] {
    background: #fbf2ef;
}

@media (max-width: 760px) {
    .header-account-divider[b-glvl8asdfr] {
        margin-left: -8px;
        margin-right: 6px;
    }

    .header-account-trigger[b-glvl8asdfr] {
        min-width: 36px;
        padding-left: 9px;
        padding-right: 9px;
    }

    .header-account-label[b-glvl8asdfr] {
        display: none;
    }

    .header-account-popover[b-glvl8asdfr] {
        width: min(420px, calc(100vw - 28px));
    }
}

.account-migration-summary[b-glvl8asdfr] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.account-migration-summary span[b-glvl8asdfr] {
    padding: 6px 10px;
    border: 1px solid #e1e4e8;
    border-radius: 999px;
    background: #f5f7fa;
    color: #56616f;
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1;
}

.account-migration-note[b-glvl8asdfr] {
    padding: 12px 13px;
    border-radius: 8px;
    background: #faf9f6;
    color: #6b6a64;
    font-size: 12px;
    line-height: 1.55;
}

.account-migration-note strong[b-glvl8asdfr] {
    color: #6B2F3C;
    font-weight: 600;
}

.account-migration-actions[b-glvl8asdfr] {
    justify-content: space-between;
}

.account-migration-actions .account-secondary-button[b-glvl8asdfr],
.account-migration-actions .account-primary-button[b-glvl8asdfr] {
    min-width: 112px;
}

.account-cloud-section[b-glvl8asdfr] {
    display: grid;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid #ebe9e3;
}

.account-cloud-heading[b-glvl8asdfr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.account-cloud-title[b-glvl8asdfr] {
    color: #343c47;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.account-cloud-subtitle[b-glvl8asdfr] {
    margin-top: 2px;
    color: #6f727a;
    font-size: 13px;
    line-height: 1.4;
}

.account-cloud-refresh[b-glvl8asdfr] {
    flex: 0 0 auto;
    padding: 5px 9px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #6b7686;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.account-cloud-refresh:hover:not(:disabled)[b-glvl8asdfr] {
    background: #f1f3f6;
}

.account-cloud-refresh:disabled[b-glvl8asdfr] {
    opacity: 0.45;
    cursor: default;
}

.account-cloud-status[b-glvl8asdfr] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 2px 0;
    color: #6f7178;
    font-size: 15px;
    line-height: 1.4;
}

.account-cloud-dot[b-glvl8asdfr] {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #b7b4aa;
}

.account-cloud-dot.online[b-glvl8asdfr] {
    background: #4f8a66;
}

.account-cloud-dot.empty[b-glvl8asdfr] {
    background: #8a96a5;
}

.account-cloud-dot.offline[b-glvl8asdfr] {
    background: #c29445;
}

.account-cloud-actions[b-glvl8asdfr] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.account-cloud-upload[b-glvl8asdfr],
.account-cloud-download[b-glvl8asdfr] {
    min-height: 48px;
    padding: 0 8px;
    border-radius: 10px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
}

.account-cloud-upload[b-glvl8asdfr] {
    border: none;
    background: #6B2F3C;
    color: #ffffff;
}

.account-cloud-download[b-glvl8asdfr] {
    border: 1px solid #d9dde3;
    background: #ffffff;
    color: #596574;
}

.account-cloud-upload:disabled[b-glvl8asdfr],
.account-cloud-download:disabled[b-glvl8asdfr] {
    opacity: 0.45;
    cursor: default;
}

.account-cloud-download:hover:not(:disabled)[b-glvl8asdfr] {
    background: #f3f6fa;
}

.account-cloud-note[b-glvl8asdfr] {
    color: #726f66;
    font-size: 13.5px;
    line-height: 1.65;
}

.account-conflict-panel[b-glvl8asdfr] {
    display: grid;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid #ebe9e3;
}

.account-conflict-title[b-glvl8asdfr] {
    color: #6B2F3C;
    font-size: 14.5px;
    font-weight: 600;
}

.account-conflict-desc[b-glvl8asdfr] {
    color: #6b6a62;
    font-size: 13px;
    line-height: 1.6;
}

.account-conflict-actions[b-glvl8asdfr] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.account-conflict-cancel[b-glvl8asdfr] {
    width: 100%;
    min-height: 40px;
    border: none;
    border-radius: 9px;
    background: transparent;
    color: #8a8880;
    font-family: inherit;
    font-size: 13.5px;
    cursor: pointer;
}

.account-conflict-cancel:hover:not(:disabled)[b-glvl8asdfr] {
    background: #f4f3ef;
}

.account-conflict-cancel:disabled[b-glvl8asdfr] {
    opacity: 0.45;
    cursor: default;
}
/* /Components/BibleLocationPicker.razor.rz.scp.css */
.location-picker-layer[b-pid6blzv11] {
    position: absolute;
    inset: 0;
    z-index: 40;
    pointer-events: none;
}


.location-picker-backdrop[b-pid6blzv11] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(32, 32, 30, 0.08);
    backdrop-filter: blur(1px);
    pointer-events: auto;
    cursor: default;
}


.location-picker-panel[b-pid6blzv11] {
    position: absolute;
    top: 56px;
    left: 10px;
    width: min( 560px, calc(100% - 20px) );
    max-height: calc(100% - 68px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #deddd8;
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.14);
    pointer-events: auto;
}


.location-picker-header[b-pid6blzv11] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    padding: 13px 14px 10px;
}


.location-picker-title[b-pid6blzv11] {
    color: #292926;
    font-size: 13px;
    font-weight: 650;
}


.location-picker-current[b-pid6blzv11] {
    margin-top: 3px;
    color: #8a8983;
    font-size: 11px;
}


.location-picker-close[b-pid6blzv11] {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #777670;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}


    .location-picker-close:hover[b-pid6blzv11] {
        background: #f2f2ef;
        color: #292926;
    }


/* 구약 / 신약 */

.testament-switch[b-pid6blzv11] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    flex: 0 0 auto;
    margin: 0 14px 10px;
    padding: 2px;
    border-radius: 8px;
    background: #f1f1ee;
}


.testament-button[b-pid6blzv11] {
    min-height: 30px;
    padding: 4px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #76756f;
    font-size: 12px;
    font-weight: 550;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
}


    .testament-button:hover[b-pid6blzv11] {
        color: #343431;
    }


    .testament-button.active[b-pid6blzv11] {
        background: #ffffff;
        color: #2f2f2c;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    }


/* Scroll body */

.location-picker-body[b-pid6blzv11] {
    min-height: 0;
    padding: 2px 14px 16px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #cbc9c3 transparent;
}


.location-section-label[b-pid6blzv11] {
    color: #96958f;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: 0.04em;
}


.book-grid[b-pid6blzv11] {
    display: grid;
    grid-template-columns: repeat( 5, minmax(0, 1fr) );
    gap: 4px;
    margin-top: 7px;
}


.book-option[b-pid6blzv11] {
    min-height: 34px;
    padding: 5px 4px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: #595853;
    font-size: 11.5px;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 110ms ease, border-color 110ms ease, color 110ms ease;
}


    .book-option:hover[b-pid6blzv11] {
        background: #f4f4f1;
        color: #292926;
    }


    .book-option.selected[b-pid6blzv11] {
        border-color: #d6d5cf;
        background: #ecece8;
        color: #2d2d2a;
        font-weight: 650;
    }


.location-divider[b-pid6blzv11] {
    height: 1px;
    margin: 13px 0;
    background: #ecebe7;
}


.chapter-section-heading[b-pid6blzv11] {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
}


.selected-book-name[b-pid6blzv11] {
    margin-top: 3px;
    color: #333330;
    font-size: 13px;
    font-weight: 650;
}


.chapter-count[b-pid6blzv11] {
    color: #999892;
    font-size: 10px;
}


.chapter-grid[b-pid6blzv11] {
    display: grid;
    grid-template-columns: repeat( 10, minmax(0, 1fr) );
    gap: 4px;
    margin-top: 9px;
}


.chapter-option[b-pid6blzv11] {
    aspect-ratio: 1 / 1;
    min-width: 0;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #65645f;
    font-size: 11px;
    cursor: pointer;
    transition: background-color 100ms ease, color 100ms ease;
}


    .chapter-option:hover[b-pid6blzv11] {
        background: #f1f1ee;
        color: #292926;
    }


    .chapter-option.current[b-pid6blzv11] {
        border-color: #3d3d39;
        background: #30302d;
        color: #ffffff;
        font-weight: 650;
    }


/* ===============================================
   Tablet / narrow pane
   =============================================== */

@media (max-width: 640px) {

    .location-picker-panel[b-pid6blzv11] {
        top: 54px;
        left: 8px;
        right: 8px;
        bottom: 8px;
        width: auto;
        max-height: none;
        border-radius: 12px;
    }


    .book-grid[b-pid6blzv11] {
        grid-template-columns: repeat( 4, minmax(0, 1fr) );
    }


    .chapter-grid[b-pid6blzv11] {
        grid-template-columns: repeat( 5, minmax(0, 1fr) );
        gap: 5px;
    }


    .chapter-option[b-pid6blzv11] {
        min-height: 34px;
        aspect-ratio: auto;
    }
}
/* /Components/BiblePane.razor.rz.scp.css */
.bible-pane[b-57wwgsh4jb] {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: none;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: none;
}


.bible-pane.target-pane[b-57wwgsh4jb] {
    box-shadow: 0 0 0 1.5px #6B2F3C;
}


.bible-pane.active-pane[b-57wwgsh4jb] {
    /*
       active-pane은 Undo/Context Action의 소유 Pane 표시용 상태다.
       실제 빠른 탐색 대상 테두리는 target-pane이 담당한다.
    */
}


/* =========================================================
   Pane Header
   ========================================================= */

.pane-header[b-57wwgsh4jb] {
    min-height: 48px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border-bottom: 1px solid #ecebe7;
    background: #fcfcfb;
    flex: 0 0 auto;
}


.pane-location[b-57wwgsh4jb] {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 0 1 108px;
    overflow: hidden;
    justify-self: start;
}


.pane-select[b-57wwgsh4jb] {
    appearance: none;
    min-height: 32px;
    padding: 4px 24px 4px 9px;
    border: 1px solid transparent;
    border-radius: 7px;
    background-color: transparent;
    color: #31312e;
    font-size: 13px;
    cursor: pointer;
    transition: background 140ms ease, border-color 140ms ease;
}


    .pane-select:hover[b-57wwgsh4jb] {
        background: #f3f3f0;
    }


    .pane-select:focus[b-57wwgsh4jb] {
        outline: none;
        border-color: #d3d2cd;
        background: #ffffff;
    }


.translation-select[b-57wwgsh4jb] {
    /*
       Native <select>는 가장 긴 option 문구를 기준으로 닫힌 상태의
       intrinsic width를 크게 잡을 수 있다. Pane 헤더에서는 현재
       번역본 이름만 보이면 되므로 폭을 제한하고, 좁아질 때 이 영역이
       가장 먼저 줄어들게 한다.
    */
    width: 108px;
    min-width: 86px;
    max-width: 108px;
    flex: 0 1 108px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}


/* =========================================================
   Chapter
   ========================================================= */

.chapter-navigation[b-57wwgsh4jb] {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    justify-self: center;
}


.chapter-title[b-57wwgsh4jb] {
    min-width: 0;
    max-width: 170px;
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    overflow: hidden;
    color: #3b3b38;
    font-size: 13px;
    font-weight: 630;
    white-space: nowrap;
}


.chapter-book-full[b-57wwgsh4jb],
.chapter-book-short[b-57wwgsh4jb] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.chapter-book-short[b-57wwgsh4jb] {
    display: none;
}


.chapter-number[b-57wwgsh4jb] {
    flex: 0 0 auto;
    color: #77766f;
    font-size: 12px;
    font-weight: 600;
}


.chapter-button[b-57wwgsh4jb] {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #676660;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    transition: background 140ms ease, color 140ms ease;
}


    .chapter-button:hover[b-57wwgsh4jb] {
        background: #efefec;
        color: #1f1f1d;
    }


    .chapter-button:focus-visible[b-57wwgsh4jb] {
        outline: 2px solid #aaa9a3;
        outline-offset: 1px;
    }


/* =========================================================
   Narrow Pane Header
   ---------------------------------------------------------
   viewport 폭이 아니라 실제 Pane 폭을 기준으로 줄인다.
   ========================================================= */

@container (max-width: 520px) {

    .pane-header[b-57wwgsh4jb] {
        gap: 6px;
        padding-left: 7px;
        padding-right: 7px;
    }

    .pane-location[b-57wwgsh4jb] {
        flex-basis: 96px;
    }

    .translation-select[b-57wwgsh4jb] {
        width: 96px;
        min-width: 78px;
        max-width: 96px;
        flex-basis: 96px;
        padding-left: 7px;
        padding-right: 18px;
    }

    .chapter-title[b-57wwgsh4jb] {
        max-width: 138px;
    }
}


@container (max-width: 360px) {

    .pane-location[b-57wwgsh4jb] {
        flex-basis: 88px;
    }

    .translation-select[b-57wwgsh4jb] {
        width: 88px;
        min-width: 72px;
        max-width: 88px;
        flex-basis: 88px;
        padding-left: 7px;
        padding-right: 18px;
        font-size: 12px;
    }

    .chapter-book-full[b-57wwgsh4jb] {
        display: none;
    }

    .chapter-book-short[b-57wwgsh4jb] {
        display: inline;
    }

    .chapter-title[b-57wwgsh4jb] {
        max-width: 72px;
        gap: 3px;
    }

    .chapter-button[b-57wwgsh4jb] {
        width: 26px;
        height: 28px;
    }
}


/*
   1x4 / 2x4를 매우 좁은 태블릿 폭에서 사용할 때의 마지막 축약 단계.
   이 구간에서만 권 이름을 숨기고 장 번호를 중심으로 유지한다.
*/
@container (max-width: 230px) {

    .pane-header[b-57wwgsh4jb] {
        gap: 2px;
        padding-left: 4px;
        padding-right: 4px;
    }

    .pane-location[b-57wwgsh4jb] {
        flex-basis: 64px;
    }

    .translation-select[b-57wwgsh4jb] {
        width: 64px;
        min-width: 54px;
        max-width: 64px;
        flex-basis: 64px;
        padding-left: 5px;
        padding-right: 13px;
        font-size: 11px;
    }

    .chapter-book-short[b-57wwgsh4jb] {
        display: none;
    }

    .chapter-title[b-57wwgsh4jb] {
        max-width: 22px;
        gap: 0;
        font-size: 11px;
    }

    .chapter-number[b-57wwgsh4jb] {
        font-size: 11px;
    }

    .chapter-button[b-57wwgsh4jb] {
        width: 22px;
        height: 26px;
        font-size: 19px;
    }
}


/* =========================================================
   Viewport
   ========================================================= */

.bible-viewport[b-57wwgsh4jb] {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}


.bible-scroll-surface[b-57wwgsh4jb] {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #c7c6c0 transparent;
}


    /* Chrome / Edge */

    .bible-scroll-surface[b-57wwgsh4jb]::-webkit-scrollbar {
        width: 7px;
    }


    .bible-scroll-surface[b-57wwgsh4jb]::-webkit-scrollbar-track {
        background: transparent;
    }


    .bible-scroll-surface[b-57wwgsh4jb]::-webkit-scrollbar-thumb {
        background: #cbc9c3;
        border-radius: 99px;
        border: 2px solid transparent;
        background-clip: padding-box;
    }


/* =========================================================
   Bible Content
   ========================================================= */

.bible-content[b-57wwgsh4jb] {
    position: relative;
    z-index: 1;
    padding: 22px 26px 34px;
}

.bible-document[b-57wwgsh4jb] {
    position: relative;
    width: 100%;
    max-width: 820px;
    min-height: 100%;
    margin: 0 auto;
}

/* =========================================================
   SVG Drawing Layer
   ========================================================= */

.drawing-layer[b-57wwgsh4jb] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    /*
       현재는 판서 기능을 사용하지 않으므로
       마우스/터치 이벤트를 전부 본문에 통과시킨다.
    */
    pointer-events: none;
    overflow: visible;
}

.verse[b-57wwgsh4jb] {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
    margin-bottom: 7px;
}


/*
    원어 사전 패널이 열려 있는 동안, 지금 패널에 표시 중인
    절이 어느 것인지 본문에서 놓치지 않도록 은은하게 표시한다.
    Jupiter의 "조용한 고급스러움" 톤에 맞춰 채도를 낮게 유지한다.
*/
.verse.original-highlighted[b-57wwgsh4jb] {
    background: #f6efe1;
    border-left: 3px solid #9c7a45;
    border-radius: 4px;
    padding-left: 5px;
    margin-left: -8px;
    transition: background-color 200ms ease;
}


.verse-number[b-57wwgsh4jb] {
    padding-top: 2px;
    color: #9a9993;
    font-size: 11px;
    font-weight: 600;
    user-select: none;
}


/*
    원문보기가 켜졌을 때만 절 번호가 클릭 가능하다는 것을
    은은하게 드러낸다. 평소(꺼짐)에는 위 .verse-number와
    시각적으로 완전히 동일하다.
*/
.verse-number.original-mode-active[b-57wwgsh4jb] {
    color: #7a7166;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 120ms ease, color 120ms ease;
}

    .verse-number.original-mode-active:hover[b-57wwgsh4jb] {
        background: #efece4;
        color: #4a4038;
    }


.verse-text[b-57wwgsh4jb] {
    color: #292927;
    font-size: var(--bible-font-size, 18px);
    line-height: var(--bible-line-height, 1.75);
    word-break: keep-all;
    overflow-wrap: break-word;
}


.empty-message[b-57wwgsh4jb] {
    padding: 40px 12px;
    text-align: center;
    color: #888781;
    font-size: 13px;
}


/* =========================================================
   Narrow Pane
   ========================================================= */

@media (max-width: 600px) {

    .pane-header[b-57wwgsh4jb] {
        padding-left: 7px;
        padding-right: 7px;
    }

    .bible-content[b-57wwgsh4jb] {
        padding: 18px 18px 28px;
    }
}

.bible-document.drawing-pen[b-57wwgsh4jb] {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3' fill='%232c2a27' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 8 8, crosshair;
}

.bible-document.drawing-highlighter[b-57wwgsh4jb] {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='14' viewBox='0 0 22 14'%3E%3Crect x='3' y='4' width='16' height='7' rx='2' fill='%23C9A227' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 11 7, crosshair;
}

.bible-document.drawing-eraser[b-57wwgsh4jb] {
    cursor: cell;
}




/* =========================================================
   Text Annotation Context Toolbar
   ========================================================= */

.annotation-context-toolbar[b-57wwgsh4jb] {
    position: absolute;
    z-index: 50;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 4px;
    border: 1px solid rgba(45, 45, 42, 0.11);
    border-radius: 11px;
    background: rgba(255, 255, 253, 0.985);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.055), 0 12px 28px rgba(0, 0, 0, 0.10);
    transform: translate(-50%, -100%);
    user-select: none;
    animation: annotation-toolbar-in-b-57wwgsh4jb 110ms ease-out;
}

    .annotation-context-toolbar.placement-below[b-57wwgsh4jb] {
        transform: translate(-50%, 0);
    }

@keyframes annotation-toolbar-in-b-57wwgsh4jb {
    from {
        opacity: 0;
        filter: blur(0.2px);
    }

    to {
        opacity: 1;
        filter: blur(0);
    }
}


/* =========================================================
   Toolbar Button
   ========================================================= */

.annotation-tool-button[b-57wwgsh4jb] {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #595854;
    cursor: pointer;
    transition: background-color 110ms ease, color 110ms ease, transform 110ms ease;
}

    .annotation-tool-button:hover[b-57wwgsh4jb] {
        background: #f1f1ee;
        color: #252522;
    }

    .annotation-tool-button:active[b-57wwgsh4jb] {
        transform: scale(0.96);
    }

    .annotation-tool-button.active[b-57wwgsh4jb] {
        background: #ecece8;
        color: #242421;
    }

    .annotation-tool-button:focus-visible[b-57wwgsh4jb] {
        outline: 2px solid #aaa9a3;
        outline-offset: 1px;
    }

.annotation-tool-divider[b-57wwgsh4jb],
.annotation-submenu-divider[b-57wwgsh4jb] {
    width: 1px;
    height: 20px;
    margin: 0 2px;
    flex: 0 0 auto;
    background: #e4e3df;
}

.annotation-delete-button[b-57wwgsh4jb] {
    width: auto;
    display: inline-flex;
    align-items: center;
    padding: 0 10px 0 8px;
    gap: 5px;
    color: #8a5555;
}

    .annotation-delete-label[b-57wwgsh4jb] {
        font-size: 12px;
        font-weight: 600;
        white-space: nowrap;
    }

    .annotation-delete-button:hover[b-57wwgsh4jb],
    .annotation-delete-button.active[b-57wwgsh4jb] {
        background: #f7eeee;
        color: #7a4040;
    }

.annotation-delete-icon[b-57wwgsh4jb] {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   Toolbar Icons
   ========================================================= */

.annotation-marker-icon[b-57wwgsh4jb] {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

    .annotation-marker-icon-tip[b-57wwgsh4jb] {
        fill: #C9A227;
        stroke: currentColor;
    }

.annotation-letter-icon[b-57wwgsh4jb] {
    display: inline-block;
    font-family: -apple-system, "Segoe UI", "Malgun Gothic", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    color: currentColor;
}

.annotation-underline-icon[b-57wwgsh4jb] {
    padding-bottom: 2px;
    border-bottom: 1.5px solid currentColor;
}

.annotation-color-icon[b-57wwgsh4jb] {
    position: relative;
}

    .annotation-color-icon[b-57wwgsh4jb]::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -4px;
        height: 2px;
        border-radius: 99px;
        background: #8c4b4b;
    }

.annotation-note-icon[b-57wwgsh4jb] {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   Shared Submenu
   ========================================================= */

.annotation-submenu[b-57wwgsh4jb],
.annotation-memo-card[b-57wwgsh4jb],
.annotation-delete-confirm[b-57wwgsh4jb] {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 7px);
    transform: translateX(-50%);
    border: 1px solid rgba(45, 45, 42, 0.10);
    border-radius: 10px;
    background: rgba(255, 255, 253, 0.995);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.045), 0 8px 20px rgba(0, 0, 0, 0.09);
}

.annotation-submenu[b-57wwgsh4jb] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 7px;
    white-space: nowrap;
}

.annotation-context-toolbar.placement-below .annotation-submenu[b-57wwgsh4jb],
.annotation-context-toolbar.placement-below .annotation-memo-card[b-57wwgsh4jb],
.annotation-context-toolbar.placement-below .annotation-delete-confirm[b-57wwgsh4jb] {
    top: calc(100% + 7px);
    bottom: auto;
}


/* =========================================================
   Highlight Palette
   ========================================================= */

.annotation-color-swatch[b-57wwgsh4jb] {
    width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid rgba(52, 52, 48, 0.10);
    border-radius: 7px;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.30);
    transition: transform 100ms ease, box-shadow 100ms ease;
}

    .annotation-color-swatch:hover[b-57wwgsh4jb],
    .annotation-text-color-swatch:hover[b-57wwgsh4jb],
    .annotation-line-style-button:hover[b-57wwgsh4jb],
    .annotation-reset-button:hover[b-57wwgsh4jb] {
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.09);
    }

    .annotation-color-swatch:active[b-57wwgsh4jb],
    .annotation-text-color-swatch:active[b-57wwgsh4jb],
    .annotation-line-style-button:active[b-57wwgsh4jb],
    .annotation-reset-button:active[b-57wwgsh4jb] {
        transform: scale(0.94);
    }

/* 하이라이트 피커 스와치 (기존 685~703줄) */
.swatch-yellow[b-57wwgsh4jb] {
    background: rgba(212, 160, 23, 0.85);
}

.swatch-green[b-57wwgsh4jb] {
    background: rgba(76, 128, 88, 0.80);
}

.swatch-blue[b-57wwgsh4jb] {
    background: rgba(61, 110, 165, 0.80);
}

.swatch-pink[b-57wwgsh4jb] {
    background: rgba(194, 92, 124, 0.78);
}

.swatch-orange[b-57wwgsh4jb] {
    background: rgba(217, 127, 61, 0.80);
}

.swatch-purple[b-57wwgsh4jb] {
    background: rgba(140, 90, 170, 0.80);
}

.swatch-teal[b-57wwgsh4jb] {
    background: rgba(60, 140, 130, 0.80);
}



/* =========================================================
   Underline Palette
   ========================================================= */

.annotation-line-style-button[b-57wwgsh4jb],
.annotation-reset-button[b-57wwgsh4jb],
.annotation-text-color-swatch[b-57wwgsh4jb] {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(52, 52, 48, 0.09);
    border-radius: 7px;
    background: #fbfbf9;
    color: #4d4c48;
    cursor: pointer;
    transition: transform 100ms ease, box-shadow 100ms ease, background-color 100ms ease;
}

.line-preview[b-57wwgsh4jb] {
    width: 17px;
    height: 8px;
    display: block;
    position: relative;
}

.line-preview-single[b-57wwgsh4jb]::after,
.line-preview-double[b-57wwgsh4jb]::after,
.line-preview-dotted[b-57wwgsh4jb]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1px;
}

.line-preview-single[b-57wwgsh4jb]::after {
    border-bottom: 1.5px solid currentColor;
}

.line-preview-double[b-57wwgsh4jb]::after {
    border-bottom: 3px double currentColor;
}

.line-preview-dotted[b-57wwgsh4jb]::after {
    border-bottom: 2px dotted currentColor;
}

.line-preview-wavy[b-57wwgsh4jb] {
    width: auto;
    height: auto;
    font-size: 17px;
    line-height: 1;
    transform: translateY(-1px);
}

.annotation-reset-button[b-57wwgsh4jb] {
    font-size: 17px;
    color: #85847e;
}


/* =========================================================
   Text Color Palette
   ========================================================= */

.annotation-text-color-swatch[b-57wwgsh4jb] {
    border-radius: 7px;
}

/* 글자색 피커 스와치 */
.text-swatch-red[b-57wwgsh4jb] {
    background: #B23A45;
}

.text-swatch-blue[b-57wwgsh4jb] {
    background: #2E63A0;
}

.text-swatch-green[b-57wwgsh4jb] {
    background: #2F7A48;
}

.text-swatch-purple[b-57wwgsh4jb] {
    background: #6F49A0;
}

.text-swatch-brown[b-57wwgsh4jb] {
    background: #8C5A2E;
}

.text-swatch-teal[b-57wwgsh4jb] {
    background: #2E7A78;
}

.text-swatch-orange[b-57wwgsh4jb] {
    background: #B5651D;
}

.annotation-text-reset[b-57wwgsh4jb] {
    color: #292927;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
}


/* =========================================================
   Memo Card
   ========================================================= */

.annotation-memo-card[b-57wwgsh4jb] {
    width: 250px;
    padding: 12px;
    user-select: text;
}

.annotation-memo-title[b-57wwgsh4jb] {
    margin-bottom: 8px;
    color: #3b3b38;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.annotation-memo-input[b-57wwgsh4jb] {
    display: block;
    width: 100%;
    min-height: 82px;
    resize: vertical;
    box-sizing: border-box;
    padding: 9px 10px;
    border: 1px solid #deddd8;
    border-radius: 8px;
    outline: none;
    background: #fff;
    color: #2e2e2b;
    font: inherit;
    font-size: 13px;
    line-height: 1.55;
}

    .annotation-memo-input:focus[b-57wwgsh4jb] {
        border-color: #bbb9b1;
        box-shadow: 0 0 0 3px rgba(120, 119, 112, 0.08);
    }

    .annotation-memo-input[b-57wwgsh4jb]::placeholder {
        color: #aaa9a3;
    }

.annotation-memo-actions[b-57wwgsh4jb] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 9px;
}

.annotation-memo-spacer[b-57wwgsh4jb] {
    flex: 1 1 auto;
}

.annotation-memo-actions button[b-57wwgsh4jb],
.annotation-delete-confirm button[b-57wwgsh4jb] {
    min-height: 29px;
    padding: 5px 9px;
    border-radius: 7px;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.annotation-memo-secondary[b-57wwgsh4jb],
.annotation-delete-cancel[b-57wwgsh4jb] {
    border: 1px solid transparent;
    background: transparent;
    color: #6f6e68;
}

.annotation-memo-primary[b-57wwgsh4jb] {
    border: 1px solid #484843;
    background: #484843;
    color: #fff;
}

.annotation-memo-delete[b-57wwgsh4jb] {
    border: 1px solid transparent;
    background: transparent;
    color: #9a5555;
}


/* =========================================================
   Delete Confirmation
   ========================================================= */

.annotation-delete-confirm[b-57wwgsh4jb] {
    width: 235px;
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 6px;
    padding: 9px 10px;
    color: #55544f;
    font-size: 11px;
    line-height: 1.35;
}

.annotation-delete-confirm-button[b-57wwgsh4jb] {
    border: 1px solid #9a5555;
    background: #9a5555;
    color: #fff;
}


/* =========================================================
   Applied Annotation
   ========================================================= */

.text-annotation-mark[b-57wwgsh4jb] {
    position: relative;
    cursor: text;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.text-annotation-highlight[b-57wwgsh4jb] {
    border-radius: 2px;
}

/* 실제 적용된 하이라이트 (기존 929~947줄) */
.text-annotation-highlight-yellow[b-57wwgsh4jb] {
    background: linear-gradient(to bottom, transparent 12%, rgba(212, 160, 23, 0.45) 12%, rgba(212, 160, 23, 0.45) 90%, transparent 90%);
}

.text-annotation-highlight-green[b-57wwgsh4jb] {
    background: linear-gradient(to bottom, transparent 12%, rgba(76, 128, 88, 0.42) 12%, rgba(76, 128, 88, 0.42) 90%, transparent 90%);
}

.text-annotation-highlight-blue[b-57wwgsh4jb] {
    background: linear-gradient(to bottom, transparent 12%, rgba(61, 110, 165, 0.40) 12%, rgba(61, 110, 165, 0.40) 90%, transparent 90%);
}

.text-annotation-highlight-pink[b-57wwgsh4jb] {
    background: linear-gradient(to bottom, transparent 12%, rgba(194, 92, 124, 0.38) 12%, rgba(194, 92, 124, 0.38) 90%, transparent 90%);
}

.text-annotation-highlight-orange[b-57wwgsh4jb] {
    background: linear-gradient(to bottom, transparent 12%, rgba(217, 127, 61, 0.42) 12%, rgba(217, 127, 61, 0.42) 90%, transparent 90%);
}

.text-annotation-highlight-purple[b-57wwgsh4jb] {
    background: linear-gradient(to bottom, transparent 12%, rgba(140, 90, 170, 0.42) 12%, rgba(140, 90, 170, 0.42) 90%, transparent 90%);
}

.text-annotation-highlight-teal[b-57wwgsh4jb] {
    background: linear-gradient(to bottom, transparent 12%, rgba(60, 140, 130, 0.42) 12%, rgba(60, 140, 130, 0.42) 90%, transparent 90%);
}




.text-annotation-underline[b-57wwgsh4jb] {
    text-decoration-line: underline;
    text-underline-offset: 0.16em;
    text-decoration-thickness: 1.35px;
}

.text-annotation-underline-single[b-57wwgsh4jb] {
    text-decoration-style: solid;
}

.text-annotation-underline-double[b-57wwgsh4jb] {
    text-decoration-style: double;
    text-decoration-thickness: 1px;
}

.text-annotation-underline-dotted[b-57wwgsh4jb] {
    text-decoration-style: dotted;
    text-decoration-thickness: 1.5px;
}

.text-annotation-underline-wavy[b-57wwgsh4jb] {
    text-decoration-style: wavy;
    text-decoration-thickness: 1.1px;
}

/* 밑줄 색상 (글자색 팔레트와 동일한 색을 재사용) */
.text-annotation-underline-color-red[b-57wwgsh4jb] {
    text-decoration-color: #B23A45;
}

.text-annotation-underline-color-blue[b-57wwgsh4jb] {
    text-decoration-color: #2E63A0;
}

.text-annotation-underline-color-green[b-57wwgsh4jb] {
    text-decoration-color: #2F7A48;
}

.text-annotation-underline-color-purple[b-57wwgsh4jb] {
    text-decoration-color: #6F49A0;
}

.text-annotation-underline-color-brown[b-57wwgsh4jb] {
    text-decoration-color: #8C5A2E;
}

.text-annotation-underline-color-teal[b-57wwgsh4jb] {
    text-decoration-color: #2E7A78;
}

.text-annotation-underline-color-orange[b-57wwgsh4jb] {
    text-decoration-color: #B5651D;
}

/* 실제 적용된 글자색 (기존 974~992줄) */
.text-annotation-text-color-red[b-57wwgsh4jb] {
    color: #B23A45;
}

.text-annotation-text-color-blue[b-57wwgsh4jb] {
    color: #2E63A0;
}

.text-annotation-text-color-green[b-57wwgsh4jb] {
    color: #2F7A48;
}

.text-annotation-text-color-purple[b-57wwgsh4jb] {
    color: #6F49A0;
}

.text-annotation-text-color-brown[b-57wwgsh4jb] {
    color: #8C5A2E;
}

.text-annotation-text-color-teal[b-57wwgsh4jb] {
    color: #2E7A78;
}

.text-annotation-text-color-orange[b-57wwgsh4jb] {
    color: #B5651D;
}

.text-annotation-highlight[b-57wwgsh4jb],
.text-annotation-underline[b-57wwgsh4jb],
.text-annotation-text-color[b-57wwgsh4jb] {
    cursor: pointer;
    transition: filter 120ms ease;
}

    .text-annotation-highlight:hover[b-57wwgsh4jb],
    .text-annotation-underline:hover[b-57wwgsh4jb],
    .text-annotation-text-color:hover[b-57wwgsh4jb] {
        filter: brightness(0.94);
    }

.text-annotation-has-note[b-57wwgsh4jb] {
    position: relative;
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-color: rgba(100, 92, 75, 0.55);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.22em;
    cursor: pointer;
    transition: background-color 120ms ease, box-shadow 120ms ease;
}


/*
   하나의 메모가 여러 절에 걸쳐 있어도
   표시점은 범위의 마지막 Segment에만 만든다.
*/
.text-annotation-note-end[b-57wwgsh4jb]::after {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-left: 4px;
    vertical-align: text-bottom;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 5.5h11a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-6l-4.5 3v-3h-.5a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2Z' fill='%23D6323F' stroke='%23a3222c' stroke-width='1'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform 120ms ease, filter 120ms ease;
}


/*
   JS가 같은 MemoAnnotationId를 가진 모든 Segment에
   동시에 적용한다. 절 경계를 넘어도 하나의 메모 범위처럼 보인다.
*/
.text-annotation-note-group-hover[b-57wwgsh4jb] {
    background-color: rgba(154, 134, 97, 0.08);
}


    .text-annotation-note-group-hover.text-annotation-note-end[b-57wwgsh4jb]::after {
        transform: scale(1.2);
        filter: brightness(0.82);
    }


/* =========================================================
   Browser Text Selection
   ========================================================= */

.verse-text[b-57wwgsh4jb]::selection,
.verse-text *[b-57wwgsh4jb]::selection {
    background: rgba(117, 140, 165, 0.22);
    color: inherit;
}

/* =========================================================
   Memo Card - Pane Safe Overlay
   ========================================================= */

/*
   메모 카드는 Toolbar 안쪽이 아니라 bible-pane의 직접 Overlay로
   렌더링한다. 실제 위치는 bibleTextAnnotation.js가 Pane 경계
   안으로 보정한다.
*/
.annotation-memo-card.annotation-memo-overlay[b-57wwgsh4jb] {
    z-index: 60;
    width: min(270px, calc(100% - 20px));
    max-height: calc(100% - 68px);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: 12px;
    overflow-y: auto;
    overflow-x: hidden;
    user-select: text;
}


/*
   textarea만 줄어들거나 내부 스크롤되게 하고
   하단의 취소/저장 버튼은 항상 보이도록 한다.
*/
.annotation-memo-overlay .annotation-memo-input[b-57wwgsh4jb] {
    flex: 1 1 auto;
    min-height: 44px;
    max-height: 260px;
    resize: vertical;
    overflow-y: auto;
}


.annotation-memo-overlay .annotation-memo-actions[b-57wwgsh4jb] {
    flex: 0 0 auto;
    position: sticky;
    bottom: 0;
    margin-top: 9px;
    background: rgba(255, 255, 253, 0.995);
}


/*
   2x4처럼 Pane 높이가 특히 낮을 때는 메모 영역이 먼저 줄어든다.
*/
@media (max-height: 760px) {

    .annotation-memo-overlay .annotation-memo-input[b-57wwgsh4jb] {
        min-height: 40px;
        max-height: 160px;
    }
}


/* =========================================================
   Active Pane Context Actions
   ========================================================= */

.pane-context-actions[b-57wwgsh4jb] {
    position: static;
    z-index: 42;
    display: flex;
    align-items: center;
    gap: 3px;
    flex: 0 0 auto;
    justify-self: end;
}


.pane-action-button[b-57wwgsh4jb] {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: #686762;
    font-family: inherit;
    font-size: 11px;
    font-weight: 550;
    line-height: 1;
    cursor: pointer;
    transition: background-color 110ms ease, color 110ms ease, transform 90ms ease;
}


.pane-action-button:hover[b-57wwgsh4jb] {
    background: #f0f0ed;
    color: #32322f;
}


.pane-action-button:active[b-57wwgsh4jb] {
    transform: scale(0.96);
}


.pane-action-button:focus-visible[b-57wwgsh4jb] {
    outline: 2px solid #aaa9a3;
    outline-offset: 1px;
}


.pane-action-icon-button[b-57wwgsh4jb] {
    width: 30px;
    padding: 0;
}


.pane-action-icon[b-57wwgsh4jb] {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.pane-more-button[b-57wwgsh4jb] {
    font-size: 18px;
    letter-spacing: 1px;
}


.pane-more-button.active[b-57wwgsh4jb] {
    background: #ecece8;
    color: #30302d;
}


.pane-context-layer[b-57wwgsh4jb] {
    position: relative;
    z-index: 44;
}


.pane-context-backdrop[b-57wwgsh4jb] {
    position: absolute;
    inset: 0;
    z-index: 43;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: default;
}


.pane-context-menu-anchor[b-57wwgsh4jb] {
    position: relative;
}


.pane-context-menu[b-57wwgsh4jb] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 46;
    width: 260px;
    padding: 6px;
    border: 1px solid #deddd8;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.11);
}


.pane-context-menu-item[b-57wwgsh4jb] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding: 9px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}


.pane-context-menu-item-title[b-57wwgsh4jb] {
    color: #34332f;
    font-size: 13.5px;
    font-weight: 600;
}


.pane-context-menu-item-desc[b-57wwgsh4jb] {
    color: #85847d;
    font-size: 12px;
    line-height: 1.4;
}


.pane-context-menu-item:hover[b-57wwgsh4jb] {
    background: #f3f3f0;
}


.pane-context-menu-item.destructive .pane-context-menu-item-title[b-57wwgsh4jb] {
    color: #8b4c4c;
}


.pane-context-menu-item.destructive:hover[b-57wwgsh4jb] {
    background: #f7eeee;
}

.pane-context-menu-item.destructive:hover .pane-context-menu-item-title[b-57wwgsh4jb] {
    color: #783c3c;
}


@container (max-width: 330px) {
    .pane-context-actions[b-57wwgsh4jb] {
        gap: 1px;
    }

    .pane-action-icon-button[b-57wwgsh4jb] {
        width: 27px;
    }
}


@container (max-width: 230px) {
    .pane-context-actions[b-57wwgsh4jb] {
        gap: 0;
    }

    .pane-action-icon-button[b-57wwgsh4jb] {
        width: 24px;
        min-height: 27px;
    }
}


/* =========================================================
   User Bible Manager
   ========================================================= */

.translation-manager-overlay[b-57wwgsh4jb] {
    position: absolute;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: rgba(247, 247, 244, 0.76);
    backdrop-filter: blur(2px);
}


.translation-manager-card[b-57wwgsh4jb] {
    width: min(560px, 100%);
    max-height: calc(100% - 4px);
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
    padding: 16px;
    border: 1px solid #d9d8d2;
    border-radius: 13px;
    background: rgba(255, 255, 253, 0.99);
    box-shadow: 0 16px 44px rgba(45, 44, 40, 0.15);
    color: #353531;
}


.translation-manager-heading[b-57wwgsh4jb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}


.translation-manager-kicker[b-57wwgsh4jb] {
    margin-bottom: 3px;
    color: #9b9a94;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}


.translation-manager-title[b-57wwgsh4jb] {
    color: #2f2f2c;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}


.translation-manager-close[b-57wwgsh4jb] {
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #888781;
    font: inherit;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}


.translation-manager-close:hover:not(:disabled)[b-57wwgsh4jb] {
    background: #f0f0ed;
    color: #3d3d39;
}


.translation-manager-close:disabled[b-57wwgsh4jb] {
    opacity: 0.45;
    cursor: default;
}


.translation-manager-description[b-57wwgsh4jb] {
    margin: 0;
    color: #777670;
    font-size: 13px;
    line-height: 1.6;
}


.translation-manager-loading[b-57wwgsh4jb] {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #686762;
    font-size: 13px;
}


.translation-manager-empty[b-57wwgsh4jb] {
    min-height: 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 18px 12px;
    border: 1px dashed #deddd7;
    border-radius: 10px;
    background: #fafaf8;
    text-align: center;
}


.translation-manager-empty strong[b-57wwgsh4jb] {
    color: #55544f;
    font-size: 13px;
}


.translation-manager-empty span[b-57wwgsh4jb] {
    max-width: 360px;
    color: #999892;
    font-size: 12px;
    line-height: 1.55;
}


.translation-manager-list[b-57wwgsh4jb] {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #e2e1dc;
    border-radius: 10px;
    background: #ffffff;
}


.translation-manager-item[b-57wwgsh4jb] {
    padding: 10px 11px;
    border-bottom: 1px solid #efeee9;
}


.translation-manager-item:last-child[b-57wwgsh4jb] {
    border-bottom: 0;
}


.translation-manager-item-main[b-57wwgsh4jb] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}


.translation-manager-item-copy[b-57wwgsh4jb] {
    flex: 1 1 auto;
    min-width: 0;
}


.translation-manager-item-title[b-57wwgsh4jb] {
    overflow: hidden;
    color: #41413d;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.translation-manager-item-meta[b-57wwgsh4jb] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    overflow: hidden;
    color: #a09f99;
    font-size: 11.5px;
    white-space: nowrap;
}


.translation-manager-file-name[b-57wwgsh4jb] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}


.translation-manager-item-actions[b-57wwgsh4jb] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 4px;
}


.translation-manager-action[b-57wwgsh4jb] {
    position: relative;
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 4px 8px;
    border: 1px solid #dfded8;
    border-radius: 7px;
    background: #ffffff;
    color: #686762;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background-color 110ms ease, border-color 110ms ease, color 110ms ease;
}


.translation-manager-action:hover:not(:disabled):not(.disabled)[b-57wwgsh4jb] {
    background: #f5f5f2;
    border-color: #d5d4ce;
    color: #41413d;
}


.translation-manager-action.delete[b-57wwgsh4jb] {
    color: #8d5a5a;
}


.translation-manager-action.delete:hover:not(:disabled)[b-57wwgsh4jb] {
    border-color: #ead8d8;
    background: #fbf5f5;
    color: #804949;
}


.translation-manager-action:disabled[b-57wwgsh4jb],
.translation-manager-action.disabled[b-57wwgsh4jb] {
    opacity: 0.45;
    cursor: default;
}


.translation-manager-delete-confirm[b-57wwgsh4jb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
    padding: 7px 8px;
    border: 1px solid #ead8d8;
    border-radius: 8px;
    background: #fcf7f7;
}


.translation-manager-delete-confirm > span[b-57wwgsh4jb] {
    color: #7e5d5d;
    font-size: 11.5px;
    line-height: 1.45;
}


.translation-manager-delete-confirm > div[b-57wwgsh4jb] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 5px;
}


.translation-manager-confirm-cancel[b-57wwgsh4jb],
.translation-manager-confirm-delete[b-57wwgsh4jb] {
    min-height: 26px;
    padding: 4px 8px;
    border-radius: 6px;
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}


.translation-manager-confirm-cancel[b-57wwgsh4jb] {
    border: 1px solid #dddcd6;
    background: #ffffff;
    color: #73726c;
}


.translation-manager-confirm-delete[b-57wwgsh4jb] {
    border: 1px solid #9a5a5a;
    background: #9a5a5a;
    color: #ffffff;
}


.translation-manager-confirm-cancel:disabled[b-57wwgsh4jb],
.translation-manager-confirm-delete:disabled[b-57wwgsh4jb] {
    opacity: 0.45;
    cursor: default;
}


.translation-manager-footnote[b-57wwgsh4jb] {
    padding-top: 1px;
    color: #aaa9a3;
    font-size: 11.5px;
    line-height: 1.55;
}


/* =========================================================
   User Bible TXT Import
   ========================================================= */

.translation-import-overlay[b-57wwgsh4jb] {
    position: absolute;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: rgba(247, 247, 244, 0.76);
    backdrop-filter: blur(2px);
}


.translation-import-card[b-57wwgsh4jb] {
    width: min(560px, 100%);
    max-height: calc(100% - 4px);
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #d9d8d2;
    border-radius: 13px;
    background: rgba(255, 255, 253, 0.99);
    box-shadow: 0 16px 44px rgba(45, 44, 40, 0.15);
    color: #353531;
}


.translation-import-heading[b-57wwgsh4jb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}


.translation-import-kicker[b-57wwgsh4jb] {
    margin-bottom: 3px;
    color: #9b9a94;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}


.translation-import-title[b-57wwgsh4jb] {
    color: #2f2f2c;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}


.translation-import-close[b-57wwgsh4jb] {
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #888781;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}


.translation-import-close:hover:not(:disabled)[b-57wwgsh4jb] {
    background: #f0f0ed;
    color: #3d3d39;
}


.translation-import-close:disabled[b-57wwgsh4jb] {
    opacity: 0.45;
    cursor: default;
}


.translation-import-description[b-57wwgsh4jb] {
    margin: 0;
    color: #66655f;
    font-size: 14px;
    line-height: 1.65;
}


.translation-import-description strong[b-57wwgsh4jb] {
    color: #353531;
}


.translation-import-format[b-57wwgsh4jb] {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 5px 9px;
    padding: 10px 11px;
    border: 1px solid #e3e2dc;
    border-radius: 9px;
    background: #fafaf7;
}


.translation-import-format > span[b-57wwgsh4jb] {
    color: #8c8b85;
    font-size: 11px;
    font-weight: 650;
}


.translation-import-format code[b-57wwgsh4jb] {
    min-width: 0;
    overflow: hidden;
    color: #4e4d48;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.translation-import-format small[b-57wwgsh4jb] {
    grid-column: 1 / -1;
    color: #9a9993;
    font-size: 12px;
    line-height: 1.45;
}


.translation-import-progress[b-57wwgsh4jb] {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #686762;
    font-size: 12px;
}


.translation-import-spinner[b-57wwgsh4jb] {
    width: 15px;
    height: 15px;
    border: 2px solid #deddd7;
    border-top-color: #676660;
    border-radius: 50%;
    animation: translation-import-spin-b-57wwgsh4jb 800ms linear infinite;
}


@keyframes translation-import-spin-b-57wwgsh4jb {
    to {
        transform: rotate(360deg);
    }
}


.translation-import-alert[b-57wwgsh4jb] {
    padding: 9px 10px;
    border: 1px solid #ead5d5;
    border-radius: 8px;
    background: #fcf6f6;
    color: #8e4d4d;
    font-size: 11px;
    line-height: 1.5;
}


.translation-import-summary[b-57wwgsh4jb] {
    padding: 10px 11px;
    border: 1px solid #dce5dc;
    border-radius: 9px;
    background: #f7faf7;
}


.translation-import-summary.warning[b-57wwgsh4jb] {
    border-color: #e8dfc8;
    background: #fcfaf4;
}


.translation-import-summary.error[b-57wwgsh4jb] {
    border-color: #ead5d5;
    background: #fcf6f6;
}


.translation-import-summary-title[b-57wwgsh4jb] {
    margin-bottom: 7px;
    color: #3e4d3f;
    font-size: 12px;
    font-weight: 700;
}


.translation-import-summary.warning .translation-import-summary-title[b-57wwgsh4jb] {
    color: #765f31;
}


.translation-import-summary.error .translation-import-summary-title[b-57wwgsh4jb] {
    color: #8a4d4d;
}


.translation-import-stats[b-57wwgsh4jb] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 11px;
    color: #76756f;
    font-size: 10.5px;
}


.translation-import-stats strong[b-57wwgsh4jb] {
    color: #454440;
}


.translation-import-stats .error-count strong[b-57wwgsh4jb] {
    color: #9b5151;
}


.translation-import-stats .warning-count strong[b-57wwgsh4jb] {
    color: #927436;
}


.translation-import-file-meta[b-57wwgsh4jb] {
    margin-top: 6px;
    overflow: hidden;
    color: #a09f99;
    font-size: 9.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.translation-import-issues[b-57wwgsh4jb] {
    max-height: 170px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-right: 2px;
    overflow-y: auto;
}


.translation-import-issue[b-57wwgsh4jb] {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 6px 7px;
    border-radius: 7px;
    background: #f8f8f5;
    color: #6d6c66;
    font-size: 10px;
    line-height: 1.45;
}


.translation-import-issue.error[b-57wwgsh4jb] {
    background: #fbf5f5;
}


.translation-import-issue.warning[b-57wwgsh4jb] {
    background: #fbf9f2;
}


.translation-import-issue-badge[b-57wwgsh4jb] {
    flex: 0 0 auto;
    min-width: 30px;
    padding: 1px 4px;
    border: 1px solid #dfded8;
    border-radius: 5px;
    color: #777670;
    font-size: 9px;
    font-weight: 650;
    text-align: center;
}


.translation-import-issue.error .translation-import-issue-badge[b-57wwgsh4jb] {
    border-color: #e6caca;
    color: #9b5050;
}


.translation-import-issue.warning .translation-import-issue-badge[b-57wwgsh4jb] {
    border-color: #e8dbbd;
    color: #8a6d31;
}


.translation-import-issue-text[b-57wwgsh4jb] {
    min-width: 0;
}


.translation-import-issue-text strong[b-57wwgsh4jb] {
    color: #55544f;
    font-weight: 650;
}


.translation-import-more-issues[b-57wwgsh4jb] {
    padding: 3px 7px;
    color: #9b9a94;
    font-size: 9.5px;
    text-align: right;
}


.translation-import-confirm-note[b-57wwgsh4jb] {
    margin: -2px 0 0;
    color: #787771;
    font-size: 10.5px;
    line-height: 1.45;
}


.translation-import-confirm-note.error[b-57wwgsh4jb] {
    color: #925353;
}


.translation-import-actions[b-57wwgsh4jb] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 1px;
}


.translation-import-actions.split[b-57wwgsh4jb] {
    justify-content: flex-start;
}


.translation-import-action-spacer[b-57wwgsh4jb] {
    flex: 1 1 auto;
}


.translation-import-secondary[b-57wwgsh4jb],
.translation-import-primary[b-57wwgsh4jb],
.translation-import-tertiary[b-57wwgsh4jb] {
    min-height: 36px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 7px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}


.translation-import-secondary[b-57wwgsh4jb] {
    border: 1px solid #deddd7;
    background: #ffffff;
    color: #65645f;
}


.translation-import-secondary:hover:not(:disabled)[b-57wwgsh4jb] {
    background: #f5f5f2;
}


.translation-import-primary[b-57wwgsh4jb] {
    position: relative;
    border: 1px solid #55544f;
    background: #55544f;
    color: #ffffff;
}


.translation-import-primary:hover:not(:disabled)[b-57wwgsh4jb] {
    background: #3f3f3b;
}


.translation-import-primary.button[b-57wwgsh4jb] {
    appearance: none;
}


.translation-import-primary.button:disabled[b-57wwgsh4jb],
.translation-import-secondary:disabled[b-57wwgsh4jb] {
    opacity: 0.45;
    cursor: default;
}


.translation-import-tertiary[b-57wwgsh4jb] {
    position: relative;
    min-height: 32px;
    padding-left: 2px;
    padding-right: 2px;
    border: 0;
    background: transparent;
    color: #777670;
    font-size: 12px;
}


.translation-import-tertiary:hover[b-57wwgsh4jb] {
    color: #3d3d39;
}


.translation-import-file-input[b-57wwgsh4jb] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}


.translation-notice[b-57wwgsh4jb] {
    position: absolute;
    top: 54px;
    left: 50%;
    z-index: 75;
    max-width: calc(100% - 20px);
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 8px 7px 10px;
    transform: translateX(-50%);
    border: 1px solid #dce3d8;
    border-radius: 8px;
    background: rgba(250, 252, 248, 0.98);
    box-shadow: 0 5px 18px rgba(48, 48, 43, 0.08);
    color: #586052;
    font-size: 10.5px;
    white-space: nowrap;
}


.translation-notice span[b-57wwgsh4jb] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}


.translation-notice button[b-57wwgsh4jb] {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #8d9188;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}


.translation-notice button:hover[b-57wwgsh4jb] {
    background: #eef1eb;
}


@media (max-height: 760px) {
    .translation-manager-overlay[b-57wwgsh4jb],
    .translation-import-overlay[b-57wwgsh4jb] {
        align-items: flex-start;
        padding: 8px;
    }

    .translation-manager-card[b-57wwgsh4jb],
    .translation-import-card[b-57wwgsh4jb] {
        max-height: 100%;
        gap: 9px;
        padding: 12px;
    }

    .translation-import-issues[b-57wwgsh4jb] {
        max-height: 116px;
    }
}


@media (max-width: 420px) {
    .translation-manager-item-main[b-57wwgsh4jb] {
        align-items: flex-start;
    }

    .translation-manager-item-meta[b-57wwgsh4jb] {
        flex-wrap: wrap;
        white-space: normal;
    }

    .translation-manager-delete-confirm[b-57wwgsh4jb] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Components/OriginalLanguagePanel.razor.rz.scp.css */
/*
    Jupiter 전체에서 쓰는 색/여백 톤(Home.razor.css의
    reading-settings-panel, drawing-tool-options 등 기존
    "떠 있는 패널" 스타일)을 그대로 재사용한다.
    새로운 색상 체계를 만들지 않는다.
*/

/*
    Jupiter 전체에서 쓰는 색/여백 톤을 기본으로 하되,
    원어 사전 패널에는 "학구적인 손때 묻은 가죽 서재" 느낌의
    차분한 골드 포인트를 하나 더한다. 채도를 낮게 유지해서
    전체 톤(조용한 고급스러움)을 해치지 않도록 했다.
*/
.original-language-panel[b-ufz33wwtus] {
    --original-accent: #9c7a45;
    --original-accent-soft: #f3ead9;

    position: fixed;
    top: 58px; /* workspace-header 높이와 맞춤 */
    right: 0;
    bottom: 0;
    width: min(540px, 100vw);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-left: 1px solid #e6e5e1;
    box-shadow: -8px 0 28px rgba(0, 0, 0, 0.08);
    z-index: 50;
}


/*
    도킹 모드(대조창 1~2개)와 오버레이 모드(3개 이상)는
    지금 단계에서는 그림자 강도로만 구분한다.

    실제 comparison-grid를 좁혀서 밀어내는 "진짜 도킹"은
    Home.razor의 grid-template-columns 구조를 바꿔야 하는
    더 큰 변경이라, 이번 1차 구현에서는 보류했다.
    필요하면 다음 단계에서 별도로 설계하기로 한다.
*/
.original-language-panel.overlay-mode[b-ufz33wwtus] {
    box-shadow: -10px 0 32px rgba(0, 0, 0, 0.16);
}


.original-panel-header[b-ufz33wwtus] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 10px 14px;
    border-bottom: 1px solid #ecebe7;
    flex: 0 0 auto;
}


.original-panel-title[b-ufz33wwtus] {
    color: #2c2c29;
    font-size: 14px;
    font-weight: 650;
}


.original-panel-close[b-ufz33wwtus] {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #74736e;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

    .original-panel-close:hover[b-ufz33wwtus] {
        background: #f1f1ee;
        color: #333330;
    }


.original-panel-body[b-ufz33wwtus] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 14px;
}


.original-panel-footer[b-ufz33wwtus] {
    flex: 0 0 auto;
    padding: 8px 14px;
    border-top: 1px solid #ecebe7;
    color: #a5a39c;
    font-size: 10.5px;
    text-align: center;
}

    .original-panel-footer a[b-ufz33wwtus] {
        color: #8a7248;
        text-decoration: none;
    }

    .original-panel-footer a:hover[b-ufz33wwtus] {
        text-decoration: underline;
    }


.original-panel-loading[b-ufz33wwtus],
.original-panel-empty[b-ufz33wwtus] {
    padding: 24px 8px;
    text-align: center;
    color: #918f89;
    font-size: 13px;
}


.original-word-list[b-ufz33wwtus] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}


.original-word-chip[b-ufz33wwtus] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 56px;
    padding: 6px 10px;
    border: 1px solid #e6e5e1;
    border-radius: 8px;
    background: #faf9f7;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease;
}

    .original-word-chip:hover[b-ufz33wwtus] {
        background: #f1f1ee;
    }

    .original-word-chip.selected[b-ufz33wwtus] {
        background: #322a1c;
        border-color: var(--original-accent);
    }

        .original-word-chip.selected .original-word-hebrew[b-ufz33wwtus],
        .original-word-chip.selected .original-word-gloss[b-ufz33wwtus] {
            color: #ffffff;
        }


.original-word-hebrew[b-ufz33wwtus] {
    font-size: 16px;
    color: #2c2c29;
}

.original-language-panel.hebrew-script .original-word-hebrew[b-ufz33wwtus],
.original-language-panel.hebrew-script .original-detail-hebrew[b-ufz33wwtus] {
    direction: rtl;
}


.original-word-gloss[b-ufz33wwtus] {
    font-size: 12px;
    color: var(--original-accent);
    font-weight: 600;
    white-space: nowrap;
}


.original-word-detail[b-ufz33wwtus] {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #ecebe7;
}


.original-detail-nav[b-ufz33wwtus] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}


.original-detail-nav-button[b-ufz33wwtus] {
    padding: 4px 10px;
    border: 1px solid #e6e5e1;
    border-radius: 6px;
    background: #faf9f7;
    color: #55544f;
    font-size: 12px;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}

    .original-detail-nav-button:hover:not(:disabled)[b-ufz33wwtus] {
        background: var(--original-accent-soft);
        border-color: var(--original-accent);
        color: #5c4a2a;
    }

    .original-detail-nav-button:disabled[b-ufz33wwtus] {
        color: #c7c5bf;
        cursor: default;
    }


.original-detail-headword[b-ufz33wwtus] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 10px;
}


.original-detail-hebrew[b-ufz33wwtus] {
    font-size: 20px;
    color: #2c2c29;
}


.original-detail-translit[b-ufz33wwtus] {
    font-size: 12px;
    color: #918f89;
}


.original-detail-row[b-ufz33wwtus] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 5px 0;
    font-size: 13px;
}


.original-detail-label[b-ufz33wwtus] {
    flex: 0 0 68px;
    color: #918f89;
}


.original-detail-value[b-ufz33wwtus] {
    color: #333330;
}


.original-detail-definition[b-ufz33wwtus] {
    margin: 8px 0;
    padding: 10px 12px;
    border-left: 3px solid var(--original-accent);
    border-radius: 4px;
    background: var(--original-accent-soft);
    color: #4a4943;
    font-size: 13px;
    line-height: 1.6;
}

    .original-detail-definition p[b-ufz33wwtus] {
        margin: 0 0 4px 0;
    }

    .original-detail-definition p:last-child[b-ufz33wwtus] {
        margin-bottom: 0;
    }

    .original-detail-definition-line-1[b-ufz33wwtus] {
        margin-top: 6px !important;
    }

    .original-detail-definition-line-2[b-ufz33wwtus] {
        margin-left: 14px !important;
    }

    .original-detail-definition-marker[b-ufz33wwtus] {
        margin-right: 4px;
        color: var(--original-accent);
    }


.original-detail-examples .original-detail-value[b-ufz33wwtus] {
    line-height: 1.6;
}


/* =========================================================
   모바일 - 하단 시트
   ========================================================= */

@media (max-width: 600px) {

    .original-language-panel[b-ufz33wwtus] {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: min(70vh, 520px);
        border-left: none;
        border-top: 1px solid #e6e5e1;
        border-radius: 14px 14px 0 0;
        box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.14);
    }
}
/* /Components/QuickNavigationSidebar.razor.rz.scp.css */
.quick-nav-host[b-aea8jvgyhp] {
    --jupiter-accent: #6B2F3C;
    --jupiter-accent-soft: #f1e6e8;
    --jupiter-border: #ddd9cd;
    --jupiter-border-hover: #c7c4b6;

    position: absolute;
    inset: 0 auto 0 0;
    z-index: 80;
    width: 14px;
    min-width: 0;
    overflow: visible;
    pointer-events: none;
}


.quick-nav-section[b-aea8jvgyhp] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}


.quick-nav-host.pinned[b-aea8jvgyhp] {
    position: relative;
    inset: auto;
    width: var(--quick-nav-width);
    height: 100%;
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
}


.quick-nav-edge[b-aea8jvgyhp] {
    position: absolute;
    inset: 0 auto 0 0;
    width: 14px;
    padding: 0;
    border: 0;
    border-right: 1px solid rgba(214, 213, 207, 0.72);
    background: rgba(255, 255, 255, 0.38);
    cursor: pointer;
    pointer-events: auto;
}


.quick-nav-edge span[b-aea8jvgyhp] {
    position: absolute;
    top: 50%;
    left: 5px;
    width: 3px;
    height: 42px;
    transform: translateY(-50%);
    border-radius: 999px;
    background: #c9c8c2;
    opacity: 0.48;
    transition: opacity 140ms ease, background-color 140ms ease;
}


.quick-nav-edge:hover span[b-aea8jvgyhp],
.quick-nav-host.open .quick-nav-edge span[b-aea8jvgyhp] {
    background: #77766f;
    opacity: 0.76;
}


.quick-nav-panel[b-aea8jvgyhp] {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--quick-nav-width);
    min-width: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border-right: 1px solid #deddd8;
    background: rgba(250, 250, 248, 0.985);
    box-shadow: 12px 0 30px rgba(36, 36, 33, 0.10);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-18px);
    transition:
        opacity 160ms ease,
        transform 170ms cubic-bezier(.2, .8, .2, 1),
        visibility 0s linear 170ms;
    pointer-events: none;
}


.quick-nav-host.open .quick-nav-panel[b-aea8jvgyhp],
.quick-nav-host.pinned .quick-nav-panel[b-aea8jvgyhp] {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    transition-delay: 0s;
    pointer-events: auto;
}


.quick-nav-host.pinned .quick-nav-panel[b-aea8jvgyhp] {
    position: relative;
    width: 100%;
    height: 100%;
    box-shadow: none;
}


.quick-nav-header[b-aea8jvgyhp] {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 11px 8px 13px;
    border-bottom: 1px solid #e5e4df;
    background: rgba(255, 255, 255, 0.76);
}


.quick-nav-header-actions[b-aea8jvgyhp] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}


.quick-nav-heading[b-aea8jvgyhp] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #343431;
    font-size: 13px;
    font-weight: 680;
    letter-spacing: -0.01em;
}


.quick-nav-heading-mark[b-aea8jvgyhp] {
    width: 3px;
    height: 17px;
    border-radius: 999px;
    background: #555550;
}


.quick-nav-pin[b-aea8jvgyhp] {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: #77766f;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}


.quick-nav-pin:hover[b-aea8jvgyhp] {
    background: #f1f1ee;
    color: #363633;
}


.quick-nav-pin.active[b-aea8jvgyhp] {
    border-color: var(--jupiter-accent);
    background: var(--jupiter-accent-soft);
    color: var(--jupiter-accent);
}


.quick-nav-pin svg[b-aea8jvgyhp] {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/*
    "빠른 탐색" 아이콘을 다시 눌러 닫으려 해도, 사이드바 패널이
    그 아이콘 위를 그대로 덮고 있어(z-index 80) 휴대폰에서는
    누를 수 없다. 그래서 패널 안에 별도 닫기(X) 버튼을 두고,
    PC/태블릿에서는 기존처럼 숨겨서 레이아웃을 그대로 둔다.
*/
.quick-nav-close[b-aea8jvgyhp] {
    display: none;
}


@media (max-width: 600px) {
    .quick-nav-close[b-aea8jvgyhp] {
        width: 30px;
        height: 30px;
        display: grid;
        place-items: center;
        padding: 0;
        border: 1px solid transparent;
        border-radius: 7px;
        background: transparent;
        color: #77766f;
        cursor: pointer;
        transition: background-color 120ms ease, color 120ms ease;
    }

    .quick-nav-close:hover[b-aea8jvgyhp] {
        background: #f1f1ee;
        color: #363633;
    }

    .quick-nav-close svg[b-aea8jvgyhp] {
        width: 16px;
        height: 16px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
}


.quick-nav-body[b-aea8jvgyhp] {
    min-height: 0;
    display: grid;
    grid-template-rows:
        minmax(136px, 1.22fr)
        minmax(92px, .68fr)
        minmax(92px, .68fr)
        minmax(178px, 1fr);
    gap: 9px;
    padding: 9px 10px 10px;
    overflow: hidden;
}


/*
    Pane이 1개뿐이면(주로 휴대폰) workspace-section이 아예
    렌더링되지 않는다(Home.razor: VisiblePaneCount > 1 조건).
    그런데도 4번째 행(workspace-section 몫)이 grid-template-rows에
    그대로 남아 있어서, 특히 절(verse) 목록이 쓸 수 있는 세로
    공간이 부당하게 줄어들었다. workspace-section이 없을 때는
    권/장/절 3행만 쓰도록 재배분한다.
*/
.quick-nav-body:not(:has(.workspace-section))[b-aea8jvgyhp] {
    grid-template-rows:
        minmax(136px, 1.22fr)
        minmax(92px, .68fr)
        minmax(92px, .68fr);
}


.section-heading[b-aea8jvgyhp] {
    min-height: 34px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 0 2px 8px;
    color: #2c2c29;
    font-size: 12px;
    font-weight: 700;
}


.section-context[b-aea8jvgyhp] {
    min-width: 0;
    overflow: hidden;
    color: #96958e;
    font-size: 10.5px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.section-scroll[b-aea8jvgyhp] {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #d4d3cd transparent;
}


.book-scroll[b-aea8jvgyhp] {
    padding: 0 2px 9px;
}


.testament-heading[b-aea8jvgyhp] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    margin: 2px 0 6px;
    color: #8b8a84;
    font-size: 9.5px;
    font-weight: 650;
}


.testament-heading i[b-aea8jvgyhp] {
    height: 1px;
    background: #ecebe7;
}


.new-testament-heading[b-aea8jvgyhp] {
    margin-top: 9px;
}


.book-grid[b-aea8jvgyhp] {
    display: grid;
    gap: 3px;
}


.old-testament-grid[b-aea8jvgyhp] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}


.new-testament-grid[b-aea8jvgyhp] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}


.nav-tile[b-aea8jvgyhp] {
    min-width: 0;
    border: 1px solid #e6e3db;
    border-radius: 5px;
    background: transparent;
    color: #5c5b56;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
}


.nav-tile:hover[b-aea8jvgyhp] {
    border-color: var(--jupiter-border-hover);
    background: #f2f0ec;
    color: #2c2c29;
}


.nav-tile.selected[b-aea8jvgyhp] {
    border-color: var(--jupiter-accent);
    background: var(--jupiter-accent);
    color: #ffffff;
    font-weight: 700;
}


.book-tile[b-aea8jvgyhp] {
    height: 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    padding: 3px 3px;
    overflow: hidden;
    border-radius: 3px;
    font-size: 10.5px;
    text-align: center;
    white-space: normal;
}


.book-name-line[b-aea8jvgyhp] {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
}


.book-name-short[b-aea8jvgyhp] {
    display: none;
}


/*
    패드(및 그보다 좁은 화면)에서는 "권" 그리드가 차지하는
    세로 공간을 줄이기 위해 두 줄 표기 대신 한 글자 약어
    (창/출/레/민/신 …)로 표시한다.
*/
@media (max-width: 1024px) {

    .book-name-full[b-aea8jvgyhp] {
        display: none;
    }

    .book-name-short[b-aea8jvgyhp] {
        display: block;
    }

    .book-tile[b-aea8jvgyhp] {
        height: 28px;
    }
}


.number-scroll[b-aea8jvgyhp] {
    padding: 1px 2px 8px;
}


.number-grid[b-aea8jvgyhp] {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 3px;
}


.number-tile[b-aea8jvgyhp] {
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    padding: 0;
    border: none;
    border-radius: 3px;
    font-size: 10.5px;
}


.workspace-section[b-aea8jvgyhp] {
    display: block;
    padding: 9px 2px 10px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d4d3cd transparent;
}


.workspace-control-group[b-aea8jvgyhp] {
    min-width: 0;
}


.subsection-title[b-aea8jvgyhp] {
    margin-bottom: 8px;
    color: #2c2c29;
    font-size: 11.5px;
    font-weight: 700;
}


.layout-grid[b-aea8jvgyhp] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
}


.layout-option[b-aea8jvgyhp] {
    min-width: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px;
    border: none;
    background: none;
    color: #77766f;
    font-family: inherit;
    cursor: pointer;
    transition: color 100ms ease;
}


.layout-option:hover[b-aea8jvgyhp] {
    color: #343431;
}


.layout-option.selected[b-aea8jvgyhp] {
    border-color: var(--jupiter-accent);
    background: var(--jupiter-accent-soft);
    color: var(--jupiter-accent);
    font-weight: 650;
}


.layout-preview[b-aea8jvgyhp] {
    width: 100%;
    max-width: 52px;
    aspect-ratio: 10 / 7;
    display: grid;
    grid-template-columns: repeat(var(--preview-columns), minmax(0, 1fr));
    grid-template-rows: repeat(var(--preview-rows), minmax(0, 1fr));
    gap: 2px;
}


.layout-preview i[b-aea8jvgyhp] {
    min-width: 0;
    min-height: 0;
    border: 1px solid #c9c7bf;
    border-radius: 1px;
    background: #ffffff;
}


.layout-option:hover .layout-preview i[b-aea8jvgyhp] {
    border-color: var(--jupiter-border-hover);
}


.layout-option.selected .layout-preview i[b-aea8jvgyhp] {
    border-color: var(--jupiter-accent);
    background: var(--jupiter-accent-soft);
}


.workspace-control-divider[b-aea8jvgyhp] {
    height: 1px;
    margin: 9px 0 8px;
    background: #ebeae5;
}


.target-grid[b-aea8jvgyhp] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(78px, 1.45fr);
    grid-template-rows: 31px 31px;
    gap: 4px;
}


.target-button[b-aea8jvgyhp] {
    min-width: 0;
    padding: 0;
    border: 1px solid #e6e3db;
    border-radius: 3px;
    background: transparent;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
}


.target-button:hover:not(:disabled)[b-aea8jvgyhp] {
    border-color: var(--jupiter-border-hover);
    background: #f2f0ec;
    color: #2c2c29;
}


.target-button.selected[b-aea8jvgyhp] {
    border-color: var(--jupiter-accent);
    background: var(--jupiter-accent);
    color: #ffffff;
}


.target-button:disabled[b-aea8jvgyhp] {
    opacity: 0.34;
    cursor: default;
}


.sidebar-sync-control[b-aea8jvgyhp] {
    grid-column: 5;
    grid-row: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 3px;
    border-radius: 6px;
    color: #74736d;
    font-size: 9.5px;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}


.sidebar-sync-control input[b-aea8jvgyhp] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}


.sidebar-sync-switch[b-aea8jvgyhp] {
    position: relative;
    width: 27px;
    height: 16px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #d5d4cf;
    transition: background-color 140ms ease;
}


.sidebar-sync-switch[b-aea8jvgyhp]::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    transition: transform 140ms ease;
}


.sidebar-sync-control input:checked + .sidebar-sync-switch[b-aea8jvgyhp] {
    background: var(--jupiter-accent);
}


.sidebar-sync-control input:checked + .sidebar-sync-switch[b-aea8jvgyhp]::after {
    transform: translateX(11px);
}


.all-button[b-aea8jvgyhp] {
    grid-column: 5;
    grid-row: 2;
}


@media (max-height: 700px) {
    .quick-nav-body[b-aea8jvgyhp] {
        grid-template-rows:
            minmax(120px, 1.1fr)
            minmax(78px, .6fr)
            minmax(78px, .6fr)
            minmax(164px, .95fr);
        gap: 7px;
        padding-top: 7px;
    }

    .quick-nav-body:not(:has(.workspace-section))[b-aea8jvgyhp] {
        grid-template-rows:
            minmax(120px, 1.1fr)
            minmax(78px, .6fr)
            minmax(78px, .6fr);
    }

    .book-tile[b-aea8jvgyhp] {
        height: 34px;
    }

    .workspace-section[b-aea8jvgyhp] {
        padding-top: 7px;
    }
}


@media (max-width: 720px) {
    .quick-nav-header[b-aea8jvgyhp] {
        min-height: 46px;
    }

    .quick-nav-body[b-aea8jvgyhp] {
        gap: 7px;
        padding: 7px 8px 8px;
    }

    .old-testament-grid[b-aea8jvgyhp],
    .new-testament-grid[b-aea8jvgyhp] {
        gap: 2px;
    }

    .book-tile[b-aea8jvgyhp] {
        font-size: 10px;
    }

    .target-grid[b-aea8jvgyhp] {
        grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(74px, 1.35fr);
    }
}


.quick-nav-footer[b-aea8jvgyhp] {
    padding: 8px 10px 10px;
    border-top: 1px solid #ebe9e2;
}


.quick-nav-footer-buttons[b-aea8jvgyhp] {
    display: flex;
    align-items: center;
    gap: 6px;
}


.quick-nav-footer-item[b-aea8jvgyhp] {
    position: relative;
}


.quick-nav-footer-button[b-aea8jvgyhp] {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 5px;
    background: transparent;
    color: #77766f;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}


.quick-nav-footer-button:hover[b-aea8jvgyhp] {
    background: #f2f0ec;
    color: #343431;
}


.quick-nav-footer-button.active[b-aea8jvgyhp] {
    border-color: var(--jupiter-accent);
    background: var(--jupiter-accent-soft);
    color: var(--jupiter-accent);
}


.quick-nav-footer-button svg[b-aea8jvgyhp] {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


[b-aea8jvgyhp] .quick-nav-footer-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    opacity: 0;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}


.quick-nav-footer-popover[b-aea8jvgyhp] {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    z-index: 10;
    width: 226px;
    display: grid;
    gap: 9px;
    padding: 12px;
    border: 1px solid var(--jupiter-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(36, 36, 33, 0.14);
}


.footer-popover-title[b-aea8jvgyhp] {
    color: #2c2c29;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.4;
}


.footer-popover-checkbox[b-aea8jvgyhp] {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: #63625c;
    font-size: 11px;
    line-height: 1.4;
    cursor: pointer;
}


.footer-popover-checkbox input[b-aea8jvgyhp] {
    margin-top: 2px;
}


.footer-popover-mode-group[b-aea8jvgyhp] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}


.footer-popover-mode-button[b-aea8jvgyhp] {
    padding: 7px 4px;
    border: 1px solid var(--jupiter-border);
    border-radius: 5px;
    background: #ffffff;
    color: #66655f;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
}


.footer-popover-mode-button:hover[b-aea8jvgyhp] {
    border-color: var(--jupiter-border-hover);
    background: #f2f0ec;
}


.footer-popover-mode-button.selected[b-aea8jvgyhp] {
    border-color: var(--jupiter-accent);
    background: var(--jupiter-accent);
    color: #ffffff;
}


.footer-popover-actions[b-aea8jvgyhp] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}


.footer-popover-primary-button[b-aea8jvgyhp] {
    padding: 7px 12px;
    border: 1px solid var(--jupiter-accent);
    border-radius: 5px;
    background: var(--jupiter-accent);
    color: #ffffff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 650;
    cursor: pointer;
    transition: opacity 120ms ease;
}


.footer-popover-primary-button:disabled[b-aea8jvgyhp] {
    opacity: 0.5;
    cursor: default;
}


.footer-popover-secondary-button[b-aea8jvgyhp] {
    padding: 7px 12px;
    border: 1px solid var(--jupiter-border);
    border-radius: 5px;
    background: #ffffff;
    color: #66655f;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 100ms ease, border-color 100ms ease;
}


.footer-popover-secondary-button:hover[b-aea8jvgyhp] {
    border-color: var(--jupiter-border-hover);
    background: #f2f0ec;
}


.quick-nav-footer-status[b-aea8jvgyhp] {
    margin-top: 8px;
    color: #6a6964;
    font-size: 10.5px;
    line-height: 1.4;
}


.quick-nav-footer-status.error[b-aea8jvgyhp] {
    color: #a3402f;
}

/* Phase 2: 계정 / 로그인 */
.quick-nav-footer-spacer[b-aea8jvgyhp] {
    flex: 1 1 auto;
}

.account-footer-item[b-aea8jvgyhp] {
    margin-left: auto;
}

.account-footer-button[b-aea8jvgyhp] {
    position: relative;
}

.account-indicator[b-aea8jvgyhp] {
    position: absolute;
    right: 3px;
    bottom: 3px;
    width: 6px;
    height: 6px;
    border: 1.5px solid #ffffff;
    border-radius: 50%;
    background: #b7b4aa;
}

.account-indicator.online[b-aea8jvgyhp] {
    background: #4f8a66;
}

.account-indicator.offline[b-aea8jvgyhp] {
    background: #c29445;
}

.account-popover[b-aea8jvgyhp] {
    left: auto;
    right: 0;
    width: 272px;
    gap: 10px;
}

.account-popover-heading[b-aea8jvgyhp] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.account-avatar[b-aea8jvgyhp] {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--jupiter-accent-soft);
    color: var(--jupiter-accent);
    font-size: 13px;
    font-weight: 750;
}

.account-heading-text[b-aea8jvgyhp] {
    min-width: 0;
}

.account-email[b-aea8jvgyhp] {
    margin-top: 2px;
    overflow: hidden;
    color: #77766f;
    font-size: 10.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-session-status[b-aea8jvgyhp] {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 31px;
    padding: 7px 9px;
    border: 1px solid #e6e3db;
    border-radius: 6px;
    background: #faf9f6;
    color: #686760;
    font-size: 10.5px;
    font-weight: 600;
}

.account-session-dot[b-aea8jvgyhp] {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #b7b4aa;
}

.account-session-status.online .account-session-dot[b-aea8jvgyhp] {
    background: #4f8a66;
}

.account-session-status.offline .account-session-dot[b-aea8jvgyhp] {
    background: #c29445;
}

.account-help-text[b-aea8jvgyhp] {
    color: #7c7b74;
    font-size: 10.5px;
    line-height: 1.45;
}

.account-auth-header[b-aea8jvgyhp] {
    display: grid;
    gap: 4px;
}

.account-mode-tabs[b-aea8jvgyhp] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 3px;
    border-radius: 6px;
    background: #f3f2ee;
}

.account-mode-tab[b-aea8jvgyhp] {
    min-height: 29px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #7a7972;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 650;
    cursor: pointer;
}

.account-mode-tab.selected[b-aea8jvgyhp] {
    background: #ffffff;
    color: #343431;
    box-shadow: 0 1px 3px rgba(36, 36, 33, 0.08);
}

.account-field[b-aea8jvgyhp] {
    display: grid;
    gap: 5px;
}

.account-field > span[b-aea8jvgyhp] {
    color: #65645e;
    font-size: 10px;
    font-weight: 650;
}

.account-field input[b-aea8jvgyhp] {
    width: 100%;
    min-width: 0;
    height: 34px;
    padding: 0 9px;
    border: 1px solid #dcd9d0;
    border-radius: 5px;
    outline: none;
    background: #ffffff;
    color: #32322f;
    font: inherit;
    font-size: 11px;
    box-sizing: border-box;
}

.account-field input:focus[b-aea8jvgyhp] {
    border-color: var(--jupiter-accent);
    box-shadow: 0 0 0 2px rgba(47, 95, 168, 0.10);
}

.account-message[b-aea8jvgyhp] {
    padding: 7px 8px;
    border-radius: 5px;
    font-size: 10.5px;
    line-height: 1.4;
}

.account-message.error[b-aea8jvgyhp] {
    background: #f8ece8;
    color: #9a4435;
}

.account-message.success[b-aea8jvgyhp] {
    background: #edf5ef;
    color: #4d755b;
}

.account-auth-actions[b-aea8jvgyhp] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}

.account-submit-button[b-aea8jvgyhp] {
    min-width: 82px;
}

.account-secondary-wide-button[b-aea8jvgyhp],
.account-logout-button[b-aea8jvgyhp] {
    width: 100%;
    min-height: 32px;
    border-radius: 5px;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 650;
    cursor: pointer;
}

.account-secondary-wide-button[b-aea8jvgyhp] {
    border: 1px solid var(--jupiter-border);
    background: #ffffff;
    color: #5e5d57;
}

.account-secondary-wide-button:hover[b-aea8jvgyhp] {
    border-color: var(--jupiter-border-hover);
    background: #f4f3ef;
}

.account-logout-button[b-aea8jvgyhp] {
    border: 1px solid #e0d8d2;
    background: #ffffff;
    color: #8a5144;
}

.account-logout-button:hover[b-aea8jvgyhp] {
    border-color: #d8c5bb;
    background: #fbf4f1;
}

.account-logout-button:disabled[b-aea8jvgyhp],
.account-secondary-wide-button:disabled[b-aea8jvgyhp] {
    opacity: 0.5;
    cursor: default;
}
/* /Components/WorkspaceLayoutPicker.razor.rz.scp.css */
.layout-picker[b-iwdviky8sr] {
    position: relative;
    display: flex;
    align-items: center;
}


.layout-trigger[b-iwdviky8sr] {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 8px;
    border: 1px solid #deddd8;
    border-radius: 8px;
    background: transparent;
    color: #595853;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}


    .layout-trigger:hover[b-iwdviky8sr] {
        background: #f3f3f0;
    }


    .layout-trigger.active[b-iwdviky8sr] {
        background: #ffffff;
        border-color: #c9c8c2;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07);
    }


.trigger-preview[b-iwdviky8sr] {
    width: 22px;
    height: 16px;
    display: grid;
    grid-template-columns: repeat(var(--preview-columns), 1fr);
    grid-template-rows: repeat(var(--preview-rows), 1fr);
    gap: 1.5px;
}


    .trigger-preview > span[b-iwdviky8sr] {
        border: 1px solid #86857f;
        border-radius: 1px;
        background: #ffffff;
    }


.layout-trigger-label[b-iwdviky8sr] {
    white-space: nowrap;
    font-weight: 550;
}


.layout-trigger-chevron[b-iwdviky8sr] {
    color: #aaa9a3;
    font-size: 10px;
}


/* =========================================================
   Popover
   ========================================================= */

.layout-popover[b-iwdviky8sr] {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 60;
    /*
        8개 프리셋을
        4열 × 2행으로 안정적으로 보여준다.
    */
    width: min(372px, calc(100vw - 24px));
    padding: 12px;
    border: 1px solid #deddd8;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.11);
}


.layout-popover-heading[b-iwdviky8sr] {
    margin-bottom: 10px;
}


.layout-popover-title[b-iwdviky8sr] {
    color: #32322f;
    font-size: 12px;
    font-weight: 650;
}


.layout-popover-description[b-iwdviky8sr] {
    margin-top: 3px;
    color: #96958f;
    font-size: 10.5px;
}


/* =========================================================
   8 Layout Presets
   ========================================================= */

.layout-option-grid[b-iwdviky8sr] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}


.layout-option[b-iwdviky8sr] {
    min-width: 0;
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 5px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: #73726d;
    cursor: pointer;
    transition: background-color 110ms ease, border-color 110ms ease, color 110ms ease, box-shadow 110ms ease;
}


    .layout-option:hover[b-iwdviky8sr] {
        background: #f4f4f1;
        color: #343431;
    }


    .layout-option.selected[b-iwdviky8sr] {
        border-color: #d3d2cc;
        background: #ecece8;
        color: #30302d;
    }


.layout-option-preview[b-iwdviky8sr] {
    width: 64px;
    height: 42px;
    display: grid;
    grid-template-columns: repeat(var(--preview-columns), 1fr);
    grid-template-rows: repeat(var(--preview-rows), 1fr);
    gap: 2px;
}


    .layout-option-preview > span[b-iwdviky8sr] {
        min-width: 0;
        min-height: 0;
        border: 1px solid #8d8c86;
        border-radius: 2px;
        background: #ffffff;
    }


.layout-option.selected
.layout-option-preview > span[b-iwdviky8sr] {
    border-color: #555550;
}


/* =========================================================
   Narrow screen
   ========================================================= */

@media (max-width: 460px) {

    .layout-popover[b-iwdviky8sr] {
        width: min(260px, calc(100vw - 20px));
    }


    .layout-option-grid[b-iwdviky8sr] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-lf7gs7epda] {
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
}

.app-main[b-lf7gs7epda] {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.content[b-lf7gs7epda] {
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: hidden;
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-7pwkkhd0wi] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-7pwkkhd0wi] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-7pwkkhd0wi] {
    font-size: 1.1rem;
}

.bi[b-7pwkkhd0wi] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-7pwkkhd0wi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-7pwkkhd0wi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-7pwkkhd0wi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-7pwkkhd0wi] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-7pwkkhd0wi] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-7pwkkhd0wi] {
        padding-bottom: 1rem;
    }

    .nav-item[b-7pwkkhd0wi]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-7pwkkhd0wi]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-7pwkkhd0wi]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-7pwkkhd0wi] {
        display: none;
    }

    .collapse[b-7pwkkhd0wi] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-7pwkkhd0wi] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/Home.razor.rz.scp.css */
.jupiter-workspace[b-ut2wkl24hm] {
    --workspace-bg: #f5f5f3;
    --surface: #ffffff;
    --border-soft: #e6e5e1;
    --text-primary: #20201e;
    --text-secondary: #74736e;
    --accent: #30302d;
    --quick-nav-width: min(330px, calc(100vw - 64px));
    width: 100%;
    height: 100dvh;
    min-width: 0;
    min-height: 0;
    position: relative;
    display: grid;
    grid-template-columns: 0 minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    background: var(--workspace-bg);
    color: var(--text-primary);
    overflow: hidden;
    transition: grid-template-columns 180ms cubic-bezier(.2, .8, .2, 1);
}


.jupiter-workspace.sidebar-pinned[b-ut2wkl24hm] {
    grid-template-columns: var(--quick-nav-width) minmax(0, 1fr);
}


.workspace-main[b-ut2wkl24hm] {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}


/* =========================================================
   Workspace Header
   ========================================================= */

.workspace-header[b-ut2wkl24hm] {
    position: relative;
    min-height: 58px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 8px 18px;
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid var(--border-soft);
    backdrop-filter: blur(12px);
    z-index: 10;
}


.workspace-toolbar-center[b-ut2wkl24hm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
}


.workspace-brand[b-ut2wkl24hm] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}


.brand-mark[b-ut2wkl24hm] {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--accent);
    color: white;
    font-size: 14px;
    font-weight: 700;
    flex: 0 0 auto;
}


.brand-text[b-ut2wkl24hm] {
    line-height: 1.1;
}


.brand-name[b-ut2wkl24hm] {
    font-size: 15px;
    font-weight: 650;
    letter-spacing: -0.01em;
}


.brand-name-short[b-ut2wkl24hm] {
    display: none;
}


.brand-subtitle[b-ut2wkl24hm] {
    margin-top: 3px;
    font-size: 11px;
    color: var(--text-secondary);
}


.workspace-actions[b-ut2wkl24hm] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    min-width: 0;
}


.pane-status[b-ut2wkl24hm] {
    font-size: 12px;
    color: var(--text-secondary);
    white-space: nowrap;
}


/* =========================================================
   Sync
   ========================================================= */

.sync-control[b-ut2wkl24hm] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    font-size: 12px;
}


    .sync-control input[b-ut2wkl24hm] {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
    }


.sync-switch[b-ut2wkl24hm] {
    position: relative;
    width: 32px;
    height: 18px;
    border-radius: 999px;
    background: #d6d5d0;
    transition: background 160ms ease;
}


    .sync-switch[b-ut2wkl24hm]::after {
        content: "";
        position: absolute;
        width: 14px;
        height: 14px;
        top: 2px;
        left: 2px;
        border-radius: 50%;
        background: white;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
        transition: transform 160ms ease;
    }


.sync-control input:checked + .sync-switch[b-ut2wkl24hm] {
    background: var(--accent);
}


    .sync-control input:checked + .sync-switch[b-ut2wkl24hm]::after {
        transform: translateX(14px);
    }


.sync-label[b-ut2wkl24hm] {
    white-space: nowrap;
}


/* =========================================================
   Comparison Workspace
   ========================================================= */

.comparison-area[b-ut2wkl24hm] {
    grid-row: 2;
    min-width: 0;
    min-height: 0;
    padding: 12px;
}


.comparison-grid[b-ut2wkl24hm] {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat( var(--layout-columns, 2), minmax(0, 1fr));
    grid-template-rows: repeat( var(--layout-rows, 1), minmax(0, 1fr));
    gap: 22px;
}


.comparison-pane-slot[b-ut2wkl24hm] {
    min-width: 0;
    min-height: 0;
}


.pane-slot-hidden[b-ut2wkl24hm] {
    display: none;
}


/* =========================================================
   Tablet portrait / narrow window
   ========================================================= */

/*
    빠른 탐색 / 도구 아이콘은 폰 전용이므로 PC·태블릿에서는
    기본적으로 숨긴다. 표시는 아래 @media (max-width: 600px)에서만
    켠다. 이 규칙은 반드시 그 미디어쿼리보다 앞에 와야 한다
    (명시도가 같을 때는 나중에 나오는 규칙이 이기기 때문).
*/
.workspace-actions .mobile-header-icon-button[b-ut2wkl24hm] {
    display: none;
}


@media (max-width: 600px) {

    .jupiter-workspace[b-ut2wkl24hm] {
        --quick-nav-width: min(310px, calc(100vw - 42px));
    }

    .workspace-header[b-ut2wkl24hm] {
        padding-left: 12px;
        padding-right: 12px;
    }

    .brand-subtitle[b-ut2wkl24hm] {
        display: none;
    }

    .brand-name-full[b-ut2wkl24hm] {
        display: none;
    }

    .brand-name-short[b-ut2wkl24hm] {
        display: inline;
    }

    .pane-status[b-ut2wkl24hm] {
        display: none;
    }

    .comparison-area[b-ut2wkl24hm] {
        padding: 8px;
    }

    /*
        폰 화면에서는 손가락으로 자유롭게 선을 긋는 판서(펜)와
        지우개가 실질적으로 쓰기 어려워 숨긴다. 읽기·형광펜·
        원문보기는 폰에서도 그대로 유지한다.
    */
    .tool-pen[b-ut2wkl24hm],
    .tool-eraser[b-ut2wkl24hm] {
        display: none;
    }

    /*
        읽기/형광펜/원문보기 아이콘이 헤더에서 겹치는 문제를
        해결하기 위해, 폰에서는 이 아이콘들을 기본적으로 숨기고
        "도구" 아이콘 하나로 묶어 2차 메뉴(팝업)로 보여준다.
        PC/태블릿(600px 초과)에서는 이 규칙이 전혀 적용되지 않으므로
        기존 레이아웃이 그대로 유지된다.
    */
    .workspace-toolbar-center .drawing-workspace-tools[b-ut2wkl24hm] {
        display: none;
    }

    .workspace-toolbar-center .drawing-workspace-tools.mobile-tools-open[b-ut2wkl24hm] {
        display: flex;
        position: absolute;
        top: calc(100% + 8px);
        right: 12px;
        z-index: 40;
        padding: 8px;
        border: 1px solid #deddd8;
        border-radius: 12px;
        background: #ffffff;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    }

    /*
        팝업이 열려 있는 동안 화면 아무 곳이나 탭하면 닫히도록
        하는 투명 오버레이. 팝업 자체(z-index 40)보다 아래,
        다른 화면 요소보다는 위에 놓는다.
    */
    .mobile-tools-overlay[b-ut2wkl24hm] {
        position: fixed;
        inset: 0;
        z-index: 35;
        padding: 0;
        border: 0;
        background: transparent;
    }

    /*
        빠른 탐색 / 도구 아이콘은 폰 폭에서만 노출된다.
        기본(데스크톱) 상태에서는 아래쪽 .mobile-header-icon-button
        규칙으로 숨겨져 있다.
    */
    .workspace-actions .mobile-header-icon-button[b-ut2wkl24hm] {
        display: inline-flex;
    }
}


.drawing-tool-switch[b-ut2wkl24hm] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.drawing-tool-button[b-ut2wkl24hm] {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #8a897f;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}

.drawing-tool-button:hover[b-ut2wkl24hm] {
    background: #f1f1ee;
    color: #4a4944;
}

.drawing-tool-button.active[b-ut2wkl24hm] {
    background: #6B2F3C;
    color: #ffffff;
}

.toolbar-icon[b-ut2wkl24hm] {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toolbar-icon-lg[b-ut2wkl24hm] {
    width: 23px;
    height: 23px;
    stroke-width: 1.75;
}

.drawing-workspace-tools[b-ut2wkl24hm] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}


.drawing-tool-options[b-ut2wkl24hm] {
    position: absolute;
    top: 50%;
    left: calc(100% + 12px);
    transform: translateY(-50%);
    z-index: 30;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: max-content;
    max-width: min(360px, calc(100vw - 32px));
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--jupiter-border, #deddd8);
    border-radius: 10px;
    background: var(--jupiter-surface, #ffffff);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.09);
}


.tool-option-group[b-ut2wkl24hm] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
}


.tool-option-divider[b-ut2wkl24hm] {
    width: 1px;
    height: 22px;
    background: var(--jupiter-border, #e3e2dd);
}


.color-swatch[b-ut2wkl24hm] {
    width: 22px;
    height: 22px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 50%;
    background: var(--swatch-color);
    cursor: pointer;
    transition: transform 120ms ease, box-shadow 120ms ease;
}


    .color-swatch:hover[b-ut2wkl24hm] {
        transform: scale(1.08);
    }


    .color-swatch.selected[b-ut2wkl24hm] {
        box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px #74736e;
    }


.width-option[b-ut2wkl24hm] {
    min-height: 26px;
    padding: 3px 7px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #777670;
    font-size: 11px;
    cursor: pointer;
}


    .width-option:hover[b-ut2wkl24hm] {
        background: #f3f3f0;
        color: #383834;
    }


    .width-option.selected[b-ut2wkl24hm] {
        background: #ecece8;
        color: #30302d;
        font-weight: 600;
    }

.pane-drawing-actions[b-ut2wkl24hm] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.pane-tool-button[b-ut2wkl24hm] {
    min-height: 28px;
    padding: 3px 8px;
    border: 1px solid #deddd8;
    border-radius: 6px;
    background: transparent;
    color: #65645f;
    font-size: 12px;
    cursor: pointer;
}

.pane-tool-button:hover[b-ut2wkl24hm] {
    background: #f1f1ee;
}

.original-login-prompt[b-ut2wkl24hm] {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
    width: min(340px, calc(100vw - 32px));
    padding: 14px 16px;
    border: 1px solid var(--jupiter-border, #deddd8);
    border-radius: 12px;
    background: var(--jupiter-surface, #ffffff);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}


.original-login-prompt-text[b-ut2wkl24hm] {
    color: #363632;
    font-size: 13px;
    line-height: 1.6;
}


.original-login-prompt-note[b-ut2wkl24hm] {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #ecebe7;
    color: #918f89;
    font-size: 11.5px;
    line-height: 1.6;
}


.original-login-prompt-actions[b-ut2wkl24hm] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}


.original-login-prompt-dismiss[b-ut2wkl24hm] {
    padding: 6px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #918f89;
    font-size: 12px;
    cursor: pointer;
}

    .original-login-prompt-dismiss:hover[b-ut2wkl24hm] {
        color: #55544f;
    }


.original-login-prompt-cta[b-ut2wkl24hm] {
    padding: 6px 12px;
    border: 0;
    border-radius: 6px;
    background: #6B2F3C;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

    .original-login-prompt-cta:hover[b-ut2wkl24hm] {
        opacity: 0.92;
    }


.reading-display-settings[b-ut2wkl24hm] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}


.original-mode-toggle[b-ut2wkl24hm] {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #8a897f;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}

.original-mode-toggle .toolbar-icon[b-ut2wkl24hm] {
    width: 24px;
    height: 24px;
    stroke-width: 1.5;
}

    .original-mode-toggle:hover[b-ut2wkl24hm] {
        background: #f1f1ee;
        color: #4a4944;
    }

    .original-mode-toggle.active[b-ut2wkl24hm] {
        background: #6B2F3C;
        color: #ffffff;
    }


.reading-settings-trigger[b-ut2wkl24hm] {
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #8a897f;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}


    .reading-settings-trigger:hover[b-ut2wkl24hm] {
        background: #f1f1ee;
        color: #4a4944;
    }


    .reading-settings-trigger.active[b-ut2wkl24hm] {
        background: #6B2F3C;
        color: #ffffff;
    }


.reading-settings-panel[b-ut2wkl24hm] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 40;
    width: 280px;
    padding: 16px;
    border: 1px solid #deddd8;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
}


.reading-settings-title[b-ut2wkl24hm] {
    margin-bottom: 12px;
    color: #363632;
    font-size: 15px;
    font-weight: 600;
}


.reading-setting-row[b-ut2wkl24hm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
}


.reading-setting-label[b-ut2wkl24hm] {
    color: #5c5b55;
    font-size: 14px;
}


.reading-stepper[b-ut2wkl24hm] {
    display: inline-flex;
    align-items: center;
    padding: 2px;
    border: 1px solid #e0dfda;
    border-radius: 8px;
    background: #f5f5f2;
}


.reading-step-button[b-ut2wkl24hm] {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #565550;
    font-size: 17px;
    cursor: pointer;
}


    .reading-step-button:hover[b-ut2wkl24hm] {
        background: #ffffff;
    }


.reading-setting-value[b-ut2wkl24hm] {
    min-width: 46px;
    text-align: center;
    color: #343430;
    font-size: 13.5px;
    font-weight: 600;
}


.reading-reset-button[b-ut2wkl24hm] {
    width: 100%;
    margin-top: 10px;
    padding: 9px 8px;
    border: 0;
    border-top: 1px solid #ecebe7;
    background: transparent;
    color: #77766f;
    font-size: 13px;
    cursor: pointer;
}


.reading-reset-button:hover[b-ut2wkl24hm] {
    color: #353531;
}
/* /Pages/ResetPassword.razor.rz.scp.css */
.reset-password-page[b-k3dov784dp] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 24px;
    background: #faf9f7;
}

.reset-password-card[b-k3dov784dp] {
    width: min(380px, 100%);
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 28px;
    border: 1px solid #e6e5e1;
    border-radius: 12px;
    background: #ffffff;
}

.reset-password-title[b-k3dov784dp] {
    color: #2c2c29;
    font-size: 17px;
    font-weight: 650;
    margin-bottom: 4px;
}

.reset-password-help-text[b-k3dov784dp] {
    color: #74736e;
    font-size: 13px;
    margin-bottom: 6px;
}

.reset-password-field[b-k3dov784dp] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    color: #55544f;
}

    .reset-password-field input[b-k3dov784dp] {
        padding: 9px 10px;
        border: 1px solid #e6e5e1;
        border-radius: 7px;
        font: inherit;
        color: #2c2c29;
    }

        .reset-password-field input:focus[b-k3dov784dp] {
            outline: none;
            border-color: #9c7a45;
        }

.reset-password-message[b-k3dov784dp] {
    padding: 8px 10px;
    border-radius: 7px;
    font-size: 13px;
    line-height: 1.5;
}

    .reset-password-message.error[b-k3dov784dp] {
        background: #fbeceb;
        color: #a13f3f;
    }

    .reset-password-message.success[b-k3dov784dp] {
        background: #f3ead9;
        color: #6b4f27;
    }

.reset-password-primary-button[b-k3dov784dp] {
    margin-top: 6px;
    min-height: 38px;
    border: 0;
    border-radius: 7px;
    background: #6B2F3C;
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

    .reset-password-primary-button:disabled[b-k3dov784dp] {
        opacity: 0.6;
        cursor: default;
    }
