/* ts-overrides.css — Keep 뷰어 CSS(keep-*.css, 그대로 옮김) 위에 우리가 바꾼 것만 모은다. 색은 ts-theme-sky.css.
   1) 조각 안 공개 상태 목록(ul.scripture-edition-status)은 데이터 표지 — 화면에는 칩·팝업이 대신 보여준다.
   2) 단어 대응 선택 표시: 100 `html적용기준.md` 8.2 새 기준(빨간 실선 밑줄). body[data-link-mark="box"]로 바꾸면 Keep식 점선 박스.
   3) Top: Keep "설정 ⌃/⌄" → ⚙ 드롭다운, 번역본 칩 줄(탭처럼, × 빼기, + 성경 추가) — 사람 결정 2026-09-28. */
.scripture-edition-status { display: none; }

/* 2) 단어 대응 선택 표시 — 색·굵기·모양은 여기 변수만 바꾸면 된다 */
:root { --ts-link-mark-color: #e5484d; --ts-link-mark-thickness: 2px; --ts-link-mark-offset: 4px; }
body.dark-mode { --ts-link-mark-color: #ff7b7f; }
body[data-link-mark="underline"] .sheet .scripture-word.scripture-selected,
body[data-link-mark="underline"] .sheet .scripture-word.scripture-linked {
  outline: none !important;
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-color: var(--ts-link-mark-color) !important;
  text-decoration-thickness: var(--ts-link-mark-thickness) !important;
  text-underline-offset: var(--ts-link-mark-offset) !important;
  text-decoration-skip-ink: none;
}
body[data-link-mark="box"] .sheet .scripture-word.scripture-selected,
body[data-link-mark="box"] .sheet .scripture-word.scripture-linked {
  outline: 2px dotted var(--ts-link-mark-color) !important;
  outline-offset: 2px !important;
  border-radius: 2px;
  text-decoration: none !important;
}

/* 3) 맨 위 브랜드 줄(PC) — 사람 지시 2026-09-28:
      [배지 The Scripture] ……… [번역본 칩들 + 성경 추가][⚙]   ⚙ 패널은 이 줄 아래 오른쪽으로 내려온다.
      ⚙ 패널 = 설정 초기화 · 읽기 탭(세로, ↑↓) · 번역본 세로 카드 · 검색 · 농도·언어대조·다크·필터·활자 기호 안내.
      본문 위 탭 줄과 둘째 줄 칩 줄은 없앴다(.six-desktop-toolbar 삭제). */
.ts-topbar { position: relative; z-index: 40; }
.ts-topbar-tools { display: flex; align-items: center; gap: 10px; flex: 0 1 auto; min-width: 0; margin-left: auto; }
#sixDesktopSearchTrigger { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; padding: 8px; border: 1px solid var(--ts-line); border-radius: 9px; background: var(--ts-surface); color: var(--ts-ink); cursor: pointer; }
#sixDesktopSearchTrigger svg { width: 20px; height: 20px; }
.ts-edition-bar { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ts-edition-chips { display: flex; align-items: center; gap: 6px; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.ts-edition-tab { flex-shrink: 0; touch-action: pan-y; cursor: grab; }
.ts-edition-tab > button:first-child { cursor: pointer; max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.ts-topbar .ts-edition-tab button, .ts-topbar .ts-add-edition { padding: 8px 10px; }
.ts-add-edition { white-space: nowrap; flex-shrink: 0; border: 1px solid var(--rule) !important; border-radius: 9px; background: var(--paper) !important; }
.ts-gear { display: none; }
.ts-settings-heading { margin: 0 0 8px; font: 700 12.5px var(--ksans); color: var(--ts-ink-2); letter-spacing: -.1px; }
/* 설정 안 탭 목록: 세로, 전환 · ↑↓ · × */
.main-head .six-tabs { flex-direction: column; align-items: stretch; gap: 8px; margin: 0 0 18px; flex: 0 0 auto; }
.main-head .six-tab-list { flex-direction: column; gap: 6px; overflow: visible; }
.main-head .six-tab { align-items: center; }
.main-head .six-tab > button:first-child { flex: 1; min-width: 0; text-align: left; white-space: normal; }
.main-head .six-tab-move { display: flex; align-items: center; gap: 4px; }
.main-head .six-tab-move button { min-width: 34px; min-height: 34px; font-size: 16px; }
.main-head .six-add-tab { align-self: flex-start; border: 1px dashed var(--rule); border-radius: 9px; }
/* 설정 안 번역본 세로 카드(팝업과 같은 부품, 흰·하늘 톤 — ts-nav.css .ts-edition-option) */
.ts-settings-editions { margin: 0 0 18px; }
.ts-settings-editions .ts-nav-help { margin: 0 0 8px; }
/* 한 줄 카드(높이 = "+ 탭 추가" 버튼, 38px) · 목록은 3.5장 높이에서 스크롤(반쯤 보이는 넷째 장이 스크롤 신호) — 사람 지시 2026-09-28 */
.ts-settings-editions { --ts-card-h: 38px; --ts-card-gap: 6px; }
.ts-settings-editions .ts-edition-list {
  gap: var(--ts-card-gap); max-height: calc(var(--ts-card-h) * 3.5 + var(--ts-card-gap) * 3);
  overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-right: 2px;
}
.ts-settings-editions .ts-edition-option { flex-shrink: 0; box-sizing: border-box; height: var(--ts-card-h); min-height: 0; padding: 0 6px; gap: 6px; }
.ts-settings-editions .ts-drag-handle { flex-basis: 14px; font-size: 14px; }
.ts-settings-editions .ts-edition-label { gap: 8px; }
.ts-settings-editions .ts-edition-label input { width: 15px; height: 15px; }
.ts-settings-editions .ts-edition-label > span { display: flex; align-items: baseline; gap: 8px; min-width: 0; white-space: nowrap; overflow: hidden; }
.ts-settings-editions .ts-edition-label strong { display: inline; font-size: 12.5px; flex-shrink: 0; }
.ts-settings-editions .ts-edition-label small { display: inline; margin: 0; font-size: 11px; overflow: hidden; text-overflow: ellipsis; }
.ts-settings-editions .ts-edition-move { flex-direction: row; gap: 3px; }
.ts-settings-editions .ts-edition-move button { width: 26px; height: 26px; min-height: 0; padding: 0; font-size: 13px; border-radius: 6px; }
@media (min-width: 768px) {
  #sixDesktopToggle.ts-gear {
    display: grid; place-items: center; gap: 0; flex-shrink: 0;
    width: 36px; height: 36px; min-height: 36px; padding: 0; /* 2026-09-30 ChatGPT 크기 */
    border: 1px solid var(--rule); border-radius: 8px; background: var(--paper); color: var(--ink); cursor: pointer;
  }
  #sixDesktopToggle.ts-gear svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; transition: transform .2s; }
  #sixDesktopToggle.ts-gear[aria-expanded="true"] { background: var(--ts-accent-soft); border-color: var(--ts-accent-2); color: var(--ts-accent-ink); }
  #sixDesktopToggle.ts-gear[aria-expanded="true"] svg { transform: rotate(45deg); }
  /* ⚙ 패널: 브랜드 줄 아래 오른쪽 드롭다운(본문 위에 겹침, 길면 패널 안에서 스크롤) */
  .ts-topbar > .main-head, .ts-topbar > #sixDesktopSearch {
    position: absolute; top: calc(100% + 6px); right: 16px; left: auto; z-index: 45;
    width: min(760px, calc(100% - 32px)); max-height: calc(100dvh - var(--ts-bar, 64px) - 24px); overflow-y: auto;
    padding: 16px 20px 18px; border: 1px solid var(--rule); border-radius: 14px;
    background: var(--ts-surface); backdrop-filter: none;
    box-shadow: 0 18px 40px rgba(15, 40, 80, .16);
    animation: ts-drop .16s ease-out;
  }
  .ts-topbar .six-tool-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; font: 800 15px var(--ksans); color: var(--ts-ink-strong); }
  .ts-topbar .main-head .navrow { flex-wrap: wrap; align-items: flex-start; gap: 8px; }
  .ts-topbar .main-head .navrow .right-btns { flex: 1 1 100%; flex-wrap: wrap; }
  .ts-topbar .main-head .toggle-bar { flex-wrap: wrap; }
  .ts-topbar .main-head .six-type-help { flex: 1 1 100%; }
  .ts-topbar .main-head .six-type-panel { position: static; width: auto; max-height: none; margin-top: 8px; box-shadow: none; }
  .ts-topbar .main-head .genesis-search-results { margin: 0 0 10px; }
  /* 본문은 화면 폭을 따라 넓어진다(Keep .content max-width 1400px 해제) */
  .ts-content .content { max-width: none; }
}
@keyframes ts-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ts-topbar > .main-head { animation: none; } }

/* 4) 절 줄 얼룩말 — 줄 전체가 한 색(번호도 줄의 일부, 따로 칸 색 없음): 홀수 절 = 바탕 그대로, 짝수 절(.verse-alt) = 연하늘 띠.
      흰 틈 없음(사람 지시 2026-09-28 두 번째). 색은 ts-theme-sky.css 변수. */
.ts-content .sheet { overflow: hidden; }
.ts-content .sheet .verse, .ts-content .sheet .verse:first-child {
  padding: 0; gap: 0; column-gap: 0; align-items: stretch;
  background: var(--verse-bg); border-top: 1px solid var(--ts-line);
}
.ts-content .sheet .verse:first-child { border-top: 0; }
.ts-content .sheet .verse.verse-alt { background: var(--verse-alt-bg); }
.ts-content .sheet .verse-num {
  display: block !important; align-self: stretch !important; flex: 0 0 56px !important;
  padding: 16px 0 0 !important; text-align: center !important;
  background: transparent !important; color: var(--verse-number-ink) !important; border: 0 !important;
  font-size: 19px; font-weight: 800; line-height: 1.85;
}
.ts-content .sheet .verse-body { padding: 16px 22px 16px 20px; }
@media (min-width: 768px) {
  .ts-content .sheet { padding: 0; }
  /* PC도 절 번호 좌우 여백을 줄인다(사람 지적 2026-09-28 "PC에서도 절 좌우로 공간이 너무 넓어"):
     번호 칸 56→34px에 오른쪽 정렬(번호가 본문 첫 줄 바로 옆), 번호~본문 10px, 본문 오른쪽 16px. 줄무늬는 카드 폭 그대로. */
  .ts-content .sheet .verse-num { flex-basis: 34px !important; text-align: right !important; }
  .ts-content .sheet .verse-body { padding: 16px 16px 16px 10px; }
}
/* 절 위아래 여백 절반으로(사람 지시 2026-09-30 "위아래 절이 공간이 너무 떠 있어, PC 모바일 모두"):
   줄무늬 칸 위아래 안쪽 16→8px(모바일 18→8px), 번호도 같은 높이에서 시작, 칸 안 번역본 사이 8→6px(모바일 12→8px),
   줄 간격 1.85→1.75(모바일 영어는 Keep 값 1.65 그대로), 해설 박스 위아래 안쪽 8→6px. 절 사이는 1px 선만(틈 없음). */
.ts-content .sheet .verse-body { padding-top: 8px; padding-bottom: 8px; row-gap: 6px; }
.ts-content .sheet .verse-num { padding-top: 8px !important; line-height: 1.55; }
.ts-content .sheet .verse-body > .note { padding-top: 6px; padding-bottom: 6px; margin-top: 2px; }
@media (min-width: 768px) {
  .ts-content .sheet .ko { line-height: 1.75; }
  .ts-content .sheet .en { line-height: 1.6; }
}
/* 모바일(≤767)만: 한 줄에 글자가 더 들어가게 가로 여백을 줄인다(사람 지적 2026-09-28 "좌우 공간이 너무 넓어").
   줄무늬는 화면 끝까지, 절 번호 칸은 26px(번호가 화면 왼쪽 약 8px), 본문 왼쪽 2px·오른쪽 10px, 해설 안쪽 8px.
   글자 크기는 그대로(절 번호만 17→15px). PC는 위 값 그대로. */
@media (max-width: 767px) {
  body[data-six-screen="read"] .ts-content .content { padding-left: 0; padding-right: 0; }
  .ts-content .sheet .verse-num { flex-basis: 26px !important; padding-top: 8px !important; font-size: 15px; line-height: 1.85; }
  .ts-content .sheet .verse-body { padding: 8px 10px 8px 2px; gap: 8px; }
  .ts-content .sheet .verse-body > .note { padding: 6px 8px; margin-top: 0; }
  .ts-content .sheet .ko { line-height: 1.75; }
}

/* Compact mobile settings layout: tab creation replaces the redundant in-sheet heading. */
.ts-settings-editions-meta { display:flex; align-items:baseline; gap:10px; min-width:0; margin-bottom:8px; }
.ts-settings-editions-meta .ts-settings-heading,
.ts-settings-editions-meta .ts-nav-help { margin:0; }
.ts-settings-editions-meta .ts-nav-help { white-space:nowrap; }
.main-head .six-tool-title { position:relative; box-sizing:border-box; min-height:44px; margin:0 0 8px; padding:6px 9px; border:1px solid var(--ts-line); border-radius:10px; background:var(--ts-accent-soft); }
.main-head .six-tool-title::after { content:""; position:absolute; z-index:0; right:0; bottom:-5px; left:0; height:6px; pointer-events:none; background:linear-gradient(163deg,var(--ts-accent-2) 0 49%,var(--ts-panel) 50% 100%); }
@media (min-width: 768px) { .ts-topbar .main-head .six-tool-title::after { display: none; } }
.main-head .six-tabs { box-sizing:border-box; margin:0 0 12px; padding:9px; border:1px solid var(--ts-line); border-radius:11px; background:var(--ts-panel); }
.main-head .ts-settings-editions { box-sizing:border-box; margin:0 0 12px; padding:10px; border:1px solid var(--ts-line); border-radius:11px; background:var(--ts-hover); }
.main-head .ts-settings-editions-meta { margin-bottom:9px; }
.highlight-control { display:inline-flex; align-items:center; min-width:0; gap:8px; }
.highlight-control > button { flex:0 0 auto; min-height:32px; padding:5px 9px; border:1px solid var(--ts-line); border-radius:8px; background:var(--ts-surface); color:var(--ts-ink); font:600 12px var(--ksans); cursor:pointer; }
.highlight-control > button.on { border-color:var(--ts-accent); background:var(--ts-accent-soft); color:var(--ts-accent-ink); }
.main-head .right-btns > [data-c="hidenote"] { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:7px 12px; border:1px solid var(--ts-line); border-radius:9px; background:var(--ts-surface); color:var(--ts-ink); font:600 12px var(--ksans); cursor:pointer; }
.main-head .right-btns > [data-c="hidenote"].on { border-color:var(--ts-accent-2); background:var(--ts-accent-soft); color:var(--ts-accent-ink); }
.six-settings-other { margin-top:12px; border-top:1px solid var(--ts-line); padding-top:8px; }
.six-settings-other > summary { cursor:pointer; color:var(--ts-ink-2); font:700 13px var(--ksans); }
.six-settings-other-content { display:flex; align-items:center; gap:10px; padding-top:6px; }
.six-settings-other-content .toggle-bar { margin:0; }
.six-type-control { display:grid; grid-template-columns:66px minmax(0,1fr); align-items:start; gap:10px; width:100%; min-width:0; }
.six-type-control > [data-c="marks"] { box-sizing:border-box; width:66px !important; min-height:42px; padding:7px 5px; border:1px solid var(--ts-line); border-radius:9px; background:var(--ts-surface); color:var(--ts-ink); font:600 12px/1.25 var(--ksans); cursor:pointer; }
.six-type-control > [data-c="marks"].on { border-color:var(--ts-accent-2); background:var(--ts-accent-soft); color:var(--ts-accent-ink); }
.six-type-control > .six-type-help { box-sizing:border-box; min-width:0; margin:0; border:1px solid var(--ts-line); border-radius:11px; background:var(--ts-surface); color:var(--ts-ink-2); overflow:hidden; }
.six-type-control > .six-type-help > summary { display:flex; align-items:center; min-height:40px; box-sizing:border-box; padding:8px 12px; border-radius:10px; background:var(--ts-surface); color:var(--ts-ink); font:600 12px/1.3 var(--ksans); list-style:none; }
.six-type-control > .six-type-help > summary::-webkit-details-marker { display:none; }
.six-type-control > .six-type-help > summary::before { content:"▸"; margin-right:7px; transition:transform .15s; }
.six-type-control > .six-type-help[open] > summary { border-bottom:1px solid var(--ts-line); border-radius:0; }
.six-type-control > .six-type-help[open] > summary::before { transform:rotate(90deg); }
.six-type-control .six-type-panel { position:static; width:auto; max-height:min(48vh,420px); overflow:auto; margin:0; padding:12px; border:0; box-shadow:none; }
.six-type-control .six-type-panel > div { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 14px; margin:0 0 10px; }
.six-type-control .six-type-panel > div > div { min-width:0; gap:9px; }
.six-type-control .six-type-panel p { margin:0; font-size:12px; }
.six-type-control .six-type-example { flex:0 0 48px; box-sizing:border-box; min-width:48px; border:1px dotted var(--ts-sub); border-radius:5px; outline:0; background:var(--ts-hover); color:var(--ts-ink-strong); }
@media (max-width: 767px) {
  body.six-settings-open .six-header h1 > * { visibility:hidden; }
  body.six-settings-open .six-header h1::after { content:attr(data-settings-title); position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); white-space:nowrap; visibility:visible; font:600 19px/1.25 var(--ksans); color:var(--ts-ink-strong); }
  #sixSettings .six-tool-title { min-height:38px; margin-bottom:10px; }
  #sixSettings .six-tool-title strong { display:none; }
  #sixSettings .six-tabs { margin:0 0 12px; flex:0 0 auto; }
  #sixSettings .six-tab-list { width:100%; }
  #sixSettings .ts-settings-editions-meta { gap:8px; }
  #sixSettings .ts-settings-editions-meta .ts-settings-heading { flex:0 0 auto; font-size:13px; }
  #sixSettings .ts-settings-editions-meta .ts-nav-help { min-width:0; overflow:hidden; text-overflow:ellipsis; font-size:11px; }
  #sixSettings .ts-settings-editions { margin-bottom:12px; }
  #sixSettings .right-btns { display:grid !important; grid-template-columns:minmax(0,1fr) max-content; grid-template-areas:"font theme" "contrast notes"; align-items:stretch; gap:7px; }
  #sixSettings .right-btns > .ts-font-size { grid-area:font; width:100%; min-width:0; height:44px; box-sizing:border-box; }
  #sixSettings .right-btns > #themeToggleBtn { grid-area:theme; width:max-content; max-width:100%; white-space:nowrap; }
  #sixSettings .right-btns > .highlight-control { grid-area:contrast; width:100%; min-width:0; box-sizing:border-box; justify-content:space-between; padding:6px 8px; gap:6px; }
  #sixSettings .highlight-control > button { min-height:32px; font-size:11px; padding:4px 7px; }
  #sixSettings .highlight-control input { flex:1 1 35px; width:auto; min-width:28px; }
  #sixSettings .right-btns > [data-c="hidenote"] { grid-area:notes; width:86px; min-width:0; min-height:44px; padding:6px 7px; font-size:11px; }
  #sixSettings .toggle-bar { margin:0; }
  #sixSettings .toggle-bar button { min-height:36px; }
  #sixSettings .six-settings-other-content { display:block; }
  #sixSettings .six-type-control { grid-template-columns:66px minmax(0,1fr); gap:7px; }
  #sixSettings .six-type-control > [data-c="marks"] { width:66px !important; min-height:42px; padding:6px 3px; font-size:11px; }
  #sixSettings .six-type-control .six-type-panel { max-height:46dvh; padding:10px; }
  #sixSettings .six-type-control .six-type-panel > div { gap:8px 10px; }
  #sixSettings .six-type-control .six-type-panel > div > div { gap:7px; }
  #sixSettings .six-type-control .six-type-panel p { font-size:11px; }
}

/* 시안 검색 결과 건수 */
.ts-search-count { margin: 0; font-size: 12px; color: var(--sub); }

/* 5) 모바일 하단 툴바: 본문 맨 끝에 닿았을 때만 올라온다(사람 지시 2026-09-28, 판정은 reader-navigation.js).
      Keep 규칙(body > .app > .six-footer)은 우리 틀(.ts-site > .ts-content > .app)에 안 걸려 늘 떠 있었다. */
@media (max-width: 767px) {
  body[data-six-screen="read"] .ts-content .six-footer {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 40;
    transform: translateY(105%); opacity: 0; pointer-events: none;
    transition: transform .18s, opacity .18s; box-shadow: 0 -2px 12px rgba(15, 40, 80, .12);
  }
  body[data-six-screen="read"].six-controls-visible .ts-content .six-footer,
  body[data-six-screen="read"] .ts-content .six-footer:has(button:focus-visible) { transform: none; opacity: 1; pointer-events: auto; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) { body[data-six-screen="read"] .ts-content .six-footer { transition: none; } }

/* 6) 활자 표시 — 100 `성경기록전서기술/규칙/html적용기준.md`(2026-09-27 확정) 1~3장을 옮김(2026-09-28).
      영어 줄 = KJV 활자 그대로(굵기·밑줄·색·자간을 더하지 않는다). 한글 줄 = KJV 가 활자로 가른 것만 굵기·글꼴·자간으로,
      우리가 더한 것(따옴표 · [[ ]] · (( )) 괄호)은 역기울임. 09-21 뷰어의 「첫 글자만 굵게」는 폐기(reader-typography.js). */
@font-face { font-family: "Old Standard TT"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/OldStandardTT-latin.woff2) format("woff2"); }
@font-face { font-family: "Old Standard TT"; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/OldStandardTT-latin-italic.woff2) format("woff2"); }
@font-face { font-family: "Old Standard TT"; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/OldStandardTT-latin-700.woff2) format("woff2"); }
.sheet .en { font-family: "Old Standard TT", "Libre Baskerville", Georgia, serif; }
/* 영어: 굵기 없음 — ‹›「」 표시 없음 · 전부 대문자는 큰 대문자 그대로 · LORD = L + 줄인 대문자 ORD(.78em · 자간 .06em) */
.sheet .en, .sheet .en :is(.theo, .pname, .yhwh, .cap, .capital-name, .capital-sentence, .sc, .scripture-capital) { font-weight: 400; letter-spacing: 0; }
.sheet .en .ts-sc { font-size: .78em; letter-spacing: .06em; }
/* 한글: ‹›「」 표시 없음 · 주(【】) = 굵게 산세리프(자간 없음) · 명각·전부 대문자(『』⟦⟧{}) = 굵게 + 자간 .12em(잠정) */
.sheet :is(.ko, .ks) :is(.k-theo, .k-pname) { font-family: inherit; font-weight: inherit; color: inherit; }
.sheet :is(.ko, .ks) .k-yhwh { font-family: var(--ksans); font-weight: 700; letter-spacing: 0; }
.sheet :is(.ko, .ks) :is(.k-capital-name, .k-capital-sentence, .k-cap) { font-family: var(--ksans); font-weight: 700; letter-spacing: .12em; }
/* KJV 이탤릭 [ ] = 오른쪽 기울임(기호 없이). 우리가 더한 것 = 역기울임 −11deg, 색 없음 */
.sheet .k-supplied2 { font-style: oblique -11deg; }
.sheet .k-quote { display: inline-block; font-style: normal; transform: skewX(11deg); color: inherit; }
.sheet .k-tag-paren { display: inline-block; transform: skewX(11deg); }
.sheet .k-tag:not(.k-tag-sp) .k-tag-text { font-style: oblique -11deg; }

/* 7) 본문 글씨 크기(사람 지시 2026-09-30) — ⚙ 패널의 A− / 100% / A+ . 변수 --ts-body-scale 하나(85~150%)로
      본문 절 글(한국어·영어 칸)과 해설만 키운다. 기준 크기는 Keep 값(PC 한 16.5·영 17·해설 12, 모바일 한 16·영 20·해설 12). */
.ts-font-size {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 6px 4px 10px; border: 1px solid var(--ts-line); border-radius: 7px;
  background: var(--paper); color: var(--ts-ink-2); font-size: 12px; white-space: nowrap;
}
.ts-font-size button {
  min-width: 34px; height: 30px; padding: 0 6px; border: 1px solid var(--ts-line); border-radius: 7px;
  background: var(--ts-surface); color: var(--ts-ink); font: 700 13px var(--ksans); cursor: pointer;
}
.ts-font-size button:hover:not(:disabled) { background: var(--ts-accent-soft); border-color: var(--ts-accent-2); }
.ts-font-size button:disabled { opacity: .35; cursor: default; }
.ts-font-size output { min-width: 4ch; text-align: center; font-variant-numeric: tabular-nums; font-weight: 700; color: var(--ts-ink); }
body.dark-mode .ts-font-size { background: #172b45; border-color: #2c4668; color: var(--ts-ink); }
.ts-content .sheet .ko { font-size: calc(16.5px * var(--ts-body-scale, 1)); }
.ts-content .sheet .en { font-size: calc(17px * var(--ts-body-scale, 1)); }
.ts-content .sheet .verse-body > .note { font-size: calc(12px * var(--ts-body-scale, 1)); }
.ts-content .sheet .verse-body > .note code { font-size: calc(11.5px * var(--ts-body-scale, 1)); }
@media (max-width: 767px) {
  .ts-content .sheet .ko { font-size: calc(16px * var(--ts-body-scale, 1)); }
  .ts-content .sheet .en { font-size: calc(18px * var(--ts-body-scale, 1)); line-height: 1.55; }
  /* 모바일 시트(사람 지시 2026-09-30 두 번째: 농도 ↔ 글씨 크기 자리 바꿈):
     1줄 [글씨 크기 A− 100% A+][다크 모드], 2줄 [대조색 농도 ━●━ 60%](전체 폭). DOM은 그대로, order만. */
  #sixSettings .ts-font-size { height: 44px; flex: 1 1 0; min-width: 0; order: 1; justify-content: space-between; padding-left: 12px; }
  #sixSettings .right-btns > #viewToggleBtn { order: 4; }
  #sixSettings .right-btns > #themeToggleBtn { flex: 0 0 auto; width:auto; min-width:max-content; min-height:44px; order:2; white-space:nowrap; }
  #sixSettings .right-btns > .highlight-control { flex: 1 1 55%; width: 55%; order: 3; }
  #sixSettings .right-btns > [data-c="hidenote"] { display:inline-flex; flex:1 1 0; min-height:38px; align-items:center; justify-content:center; order:4; border:1px solid var(--ts-line); border-radius:9px; background:var(--ts-surface); color:var(--ts-ink); font:600 12px var(--ksans); cursor:pointer; }
  #sixSettings .right-btns > [data-c="hidenote"].on { border-color:var(--ts-accent-2); background:var(--ts-accent-soft); color:var(--ts-accent-ink); }
  #sixSettings .right-btns { display:flex; flex-wrap:wrap !important; align-items:center; }
}

.six-content-loading:not([hidden]) {
  display:flex; justify-content:center; align-items:center; min-height:120px; margin:16px 18px;
  border:1px solid var(--ts-line); border-radius:10px; background:var(--paper); color:var(--ts-sub);
  font:600 14px/1.6 var(--ksans);
}
.six-content-loading:empty { display:none !important; }

.six-tab-selection-welcome { display:none; }
.ts-public-questions-status { margin:0 0 10px; color:var(--ts-sub); font-size:13px; }
.ts-public-questions-list { display:grid; gap:10px; }
.ts-public-question-card { padding:14px; border:1px solid var(--ts-line); border-radius:10px; background:var(--ts-panel); }
.ts-public-question-card h3 { margin:0 0 9px; font:700 15px/1.55 var(--ksans); color:var(--ts-ink-strong); }
.ts-public-question-card strong { display:block; margin-bottom:4px; color:var(--ts-accent-ink); font-size:12px; }
.ts-public-question-card p { margin:0; color:var(--ts-ink); font:400 14px/1.7 var(--ksans); }
.six-public-consent { display:flex; align-items:flex-start; gap:8px; margin-top:10px; padding:10px 12px; border:1px solid var(--ts-line); border-radius:9px; background:var(--ts-panel); color:var(--ts-ink); font:600 13px/1.5 var(--ksans); }
.six-public-consent input { flex:0 0 auto; margin:2px 0 0; accent-color:var(--ts-accent); }
.six-public-consent-note { margin:6px 0 10px; color:var(--ts-sub); font:400 12px/1.6 var(--ksans); }
.six-question-public-help { color:var(--ts-sub); font:400 12px/1.5 var(--ksans); }
.six-question-public-help summary { cursor:pointer; color:var(--ts-accent-ink); }
.ts-public-board[hidden] { display:none !important; }
.ts-public-board { padding:24px; max-width:1080px; margin:0 auto; color:var(--ts-ink); font-family:var(--ksans); }
/* Like the introduction, chat takes over the reader pane; the Bible view is hidden. */
.ts-chat-nav-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-right:10px; }
.ts-chat-nav-heading .ts-nav-head { width:auto; flex:0 0 auto; cursor:default; }
.ts-new-chat { border:1px solid var(--ts-line); border-radius:8px; padding:6px 9px; background:var(--ts-surface); color:var(--ts-accent-ink); font:600 12px var(--ksans); cursor:pointer; }
.ts-new-chat:hover { background:var(--ts-hover); }
body.ts-scripture-chat-open .app > .sidebar,
body.ts-scripture-chat-open .app > .main,
body.ts-scripture-chat-open .app > .six-footer { display:none !important; }
.ts-scripture-chat-page { position:relative; isolation:isolate; display:none; flex-direction:column; flex:1 1 0; min-width:0; min-height:0; height:100%; width:100%; margin:0 auto; padding:8px 24px 12px; box-sizing:border-box; background:var(--ts-page); color:var(--ts-ink); font-family:var(--ksans); }
body.ts-scripture-chat-open .ts-scripture-chat-page { display:flex; }
.ts-scripture-chat-messages { display:block; flex:1 1 auto; min-height:0; max-height:none; overflow-y:auto; padding:12px 0; }
.ts-chat-turn { padding:18px 10px; border-top:1px solid var(--rule, var(--ts-line)); background:var(--verse-bg, var(--ts-surface)); }
.ts-chat-turn:first-child { border-top:0; }
.ts-chat-turn:nth-child(even) { background:var(--verse-alt-bg, var(--ts-accent-soft)); }
.ts-chat-question-row { display:flex; align-items:baseline; gap:8px; } /* 번호와 질문 첫 줄을 같은 글자 기준선에 맞춘다 */
.ts-chat-number { display:block; text-align:center; flex:0 0 36px; padding:1px 0; border-radius:6px; background:var(--verse-number-bg, var(--ts-accent-soft)); color:var(--verse-number-ink, var(--ts-accent-ink)); font:800 19px/1.6 var(--ksans); font-variant-numeric:tabular-nums; }
.ts-chat-question-row p { flex:1; min-width:0; margin:0; padding-top:0; font:500 18px/1.7 var(--ksans); white-space:pre-wrap; overflow-wrap:anywhere; }
.ts-chat-answer { margin:12px 0 0 44px; padding:12px 14px; border:1px solid var(--ts-line); border-radius:8px; background:var(--ts-panel); color:var(--ts-ink-2); font:400 14px/1.75 var(--ksans); }
.ts-chat-answer strong { color:var(--ts-accent-ink); font-size:12px; }
.ts-chat-answer p { margin:6px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.ts-chat-answer.is-pending { color:var(--ts-sub); }
/* 해설 도착 알림: 복사 버튼처럼 진한 색으로 1.5초 동안 두 번 크게 깜빡인다(사람 지시 2026-10-16 — 처음 것은 너무 옅었다) */
@keyframes ts-answer-arrived {
  0%, 100% { background:var(--ts-panel); box-shadow:0 0 0 0 transparent; }
  20%, 70% { background:color-mix(in srgb, var(--ts-accent-2) 45%, var(--ts-surface)); border-color:var(--ts-accent-ink); box-shadow:0 0 0 6px color-mix(in srgb, var(--ts-accent-2) 40%, transparent); }
  45% { background:color-mix(in srgb, var(--ts-accent-2) 12%, var(--ts-surface)); border-color:var(--ts-accent-2); box-shadow:0 0 0 2px color-mix(in srgb, var(--ts-accent-2) 20%, transparent); }
}
.ts-chat-answer.is-arrived { animation:ts-answer-arrived 1.5s ease-in-out 1 both; }
.ts-chat-answer.is-arrived strong { color:var(--ts-accent-ink); }
.ts-wait-dots i { font-style:normal; font-weight:800; animation:ts-wait-dot 1.4s infinite both; }
.ts-wait-dots i:nth-child(2) { animation-delay:.2s; }
.ts-wait-dots i:nth-child(3) { animation-delay:.4s; }
@keyframes ts-wait-dot { 0%, 80%, 100% { opacity:.15; } 40% { opacity:1; } }
@media (prefers-reduced-motion: reduce) { .ts-wait-dots i { animation:none; opacity:.6; } }
.ts-scripture-chat-status { min-height:1.3em; margin:0 0 8px; color:var(--ts-sub); font:400 13px/1.5 var(--ksans); }
.ts-scripture-chat-compose { display:flex; align-items:center; gap:10px; position:sticky; bottom:0; padding:10px; border:1px solid var(--ts-line); border-radius:12px; background:var(--ts-surface); box-shadow:0 -8px 24px rgb(20 45 75 / 8%); }
.ts-scripture-chat-compose[hidden] { display:none !important; }
.ts-scripture-chat-compose .ts-chat-enter { flex:0 0 46px; width:46px; min-height:42px; padding:8px; border-radius:10px; }
.ts-chat-enter svg { display:block; width:24px; height:24px; margin:auto; }
.ts-scripture-chat-compose textarea { flex:1; min-width:0; box-sizing:border-box; height:68px; min-height:68px; max-height:68px; resize:none; overflow-y:auto; }
body.ts-scripture-chat-open .six-footer { display:none !important; }
@media (max-width:767px) {
  .ts-scripture-chat-page { padding:0 12px 10px; }
  .ts-scripture-chat-messages { padding:0; }
  .ts-chat-turn { padding:19px 0; background:transparent; }
  .ts-chat-turn:nth-child(even) { background:transparent; }
  .ts-chat-question-row { gap:7px; }
  .ts-chat-number { flex:0 0 18px; min-height:0; display:block; padding:0; background:transparent; color:var(--ts-accent-ink); font:800 15px/1.85 var(--ksans); text-align:right; }
  .ts-chat-question-row p { padding-top:0; font:500 16px/1.85 var(--ksans); }
  .ts-chat-answer { margin:12px 0 0; padding:12px; font-size:16px; line-height:1.85; }
}
/* 키보드가 올라와도 상단 줄이 보이도록 화면 높이를 보이는 영역(visualViewport)에 맞춘다. */
body.ts-scripture-chat-open { position:fixed; left:0; right:0; top:var(--ts-vvtop,0); height:var(--ts-vvh,100dvh); overflow:hidden; }
body.ts-scripture-chat-open .app { height:100% !important; max-height:100% !important; }
/* 바깥 틀까지 보이는 영역 높이에 맞춰야 긴 해설이 있어도 입력창이 키보드 바로 위에 남는다. */
body.ts-scripture-chat-open .ts-site,
body.ts-scripture-chat-open .ts-content { height:100% !important; min-height:0 !important; max-height:100% !important; }
body.ts-scripture-chat-open .ts-scripture-chat-page { height:auto; min-height:0; }
body.ts-scripture-chat-open .ts-scripture-chat-compose { position:relative; flex:0 0 auto; }
body.ts-public-view .sidebar,
body.ts-public-view #mainScroll > .content,
body.ts-public-view .six-footer,
body.ts-public-view .six-copy-trigger { display:none !important; }
body.ts-public-view .six-header { transform:none !important; }
.ts-public-board-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.ts-public-board-head h1 { margin:0; font:700 24px/1.4 var(--ksans); }
.ts-board-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 13px; border:1px solid var(--ts-line); border-radius:9px; background:var(--ts-surface); color:var(--ts-ink); font:600 13px var(--ksans); cursor:pointer; }
.ts-board-button:hover { border-color:var(--ts-accent-2); background:var(--ts-hover); }
.ts-board-button.is-primary { background:var(--ts-accent); color:var(--ts-on-accent,#fff); border-color:var(--ts-accent); }
.ts-public-date-filter { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:12px; padding:16px; border:1px solid var(--ts-line); border-radius:12px; background:var(--ts-panel); }
.ts-public-date-filter label { display:grid; gap:7px; min-width:0; color:var(--ts-ink-2); font-size:13px; font-weight:600; }
.ts-public-date-filter input { box-sizing:border-box; width:100%; min-width:0; height:42px; padding:8px; border:1px solid var(--ts-line); border-radius:8px; background:var(--ts-surface); color:var(--ts-ink); font:400 14px var(--ksans); color-scheme:light; }
html[data-theme="dark"] .ts-public-date-filter input { color-scheme:dark; }
.ts-public-board-note { margin:12px 0; color:var(--ts-sub); font:400 12px/1.7 var(--ksans); }
.ts-public-faq { border:1px solid var(--ts-line); border-radius:12px; background:var(--ts-surface); overflow:hidden; }
.ts-public-faq > summary { display:grid; grid-template-columns:minmax(0,1fr) auto 16px; align-items:center; gap:12px; padding:18px; cursor:pointer; list-style:none; }
.ts-public-faq > summary::-webkit-details-marker { display:none; }
.ts-public-faq-title { font:600 15px/1.6 var(--ksans); }
.ts-public-faq-date { font-size:12px; color:var(--ts-sub); }
.ts-public-faq-arrow { color:var(--ts-accent-ink); transition:transform .15s; }
.ts-public-faq[open] .ts-public-faq-arrow { transform:rotate(180deg); }
.ts-public-faq[open] > summary { background:var(--ts-panel); border-bottom:1px solid var(--ts-line); }
.ts-public-faq-body { padding:18px; }
.ts-public-answer-label { color:var(--ts-accent-ink); font-size:13px; }
.ts-public-faq-body p { margin:10px 0 16px; font-size:14px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.ts-public-followup-form { margin-top:14px; padding-top:14px; border-top:1px solid var(--ts-line); }
.ts-public-followup-form label { display:grid; gap:8px; font-size:13px; font-weight:600; }
.ts-public-followup-form textarea { box-sizing:border-box; width:100%; min-height:90px; padding:11px; resize:vertical; border:1px solid var(--ts-line); border-radius:9px; background:var(--ts-surface); color:var(--ts-ink); font:400 14px/1.6 var(--ksans); }
.ts-public-followup-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.ts-public-followup-item { margin:14px 0; padding:14px; border-left:3px solid var(--ts-accent-2); border-radius:0 9px 9px 0; background:var(--ts-panel); }
.ts-public-followup-item strong { font-size:13px; }
.ts-public-followup-item small { color:var(--ts-sub); }
.ts-public-followup-status { color:var(--ts-accent-ink); font-size:12px !important; }
#tsWordStories .ts-public-faq > summary { grid-template-columns:minmax(0,1fr) 16px; }
@media (max-width:767px) {
  .ts-public-board { padding:16px 12px 32px; }
  .ts-public-board-head { margin-bottom:14px; }
  .ts-public-board-head h1 { font-size:20px; }
  .ts-public-board-head .ts-board-button { font-size:11px; padding:8px; }
  .ts-public-date-filter { gap:8px; padding:12px; }
  .ts-public-date-filter input { font-size:12px; padding:6px 3px; }
  .ts-public-faq > summary { grid-template-columns:minmax(0,1fr) 16px; gap:4px 8px; padding:14px; }
  .ts-public-faq-title { font-size:14px; }
  .ts-public-faq-date { grid-row:2; font-size:11px; }
  .ts-public-faq-arrow { grid-column:2; grid-row:1 / 3; }
  .ts-public-faq-body { padding:14px; }
  body.ts-public-view:not(.six-settings-open) .six-header h1 > * { visibility:hidden; }
  body.ts-public-view:not(.six-settings-open) .six-header h1::after { content:attr(data-public-title); position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); white-space:nowrap; color:var(--ts-ink-strong); font:600 18px var(--ksans); }
  body.ts-word-stories-view:not(.six-settings-open) .six-header h1::after { content:attr(data-stories-title); }
}
/* Mobile settings are a compact sheet: two predictable control rows. */
@media (max-width: 767px) {
  /* Match the testament ribbon's slope: (70 / 400 viewport width) / 31px, at a 36px header height. */
  #sixSettings .six-tool-title:has(.six-add-tab) { --six-diagonal-run:20.32258065vw; --six-diagonal-half:10.161290325vw; display:grid; grid-template-columns:50% 50%; gap:0; min-height:36px; margin:0; padding:0; border:0; border-left:1px solid var(--ts-line); border-radius:11px 0 0 0; background:var(--ts-panel); overflow:hidden; }
  #sixSettings .six-tool-title:has(.six-add-tab)::before { content:""; position:absolute; inset:0 0 0 calc(50% - var(--six-diagonal-half)); background:var(--ts-surface); clip-path:polygon(0 0,100% 0,100% 100%,var(--six-diagonal-run) 100%); box-shadow:inset 0 -1px var(--ts-line); pointer-events:none; }
  #sixSettings .six-tool-title:has(.six-add-tab)::after { content:""; position:absolute; top:0; bottom:0; left:calc(50% - var(--six-diagonal-half) - 1px); width:calc(var(--six-diagonal-run) + 2px); height:auto; background:var(--ts-line); clip-path:polygon(0 0,2px 0,100% 100%,calc(100% - 2px) 100%); pointer-events:none; }
  #sixSettings .six-tool-title:has(.six-add-tab) .six-add-tab,
  #sixSettings .six-tool-title:has(.six-add-tab) #sixResetSettings { position:relative; z-index:1; box-sizing:border-box; align-self:stretch; width:100%; min-height:36px; margin:0; padding:7px 16px; border:0; border-radius:0; background:transparent; clip-path:none; font:600 13px var(--ksans); text-align:center; }
  #sixSettings .six-tool-title:has(.six-add-tab) .six-add-tab { grid-column:1; grid-row:1; order:0; color:var(--ts-accent-ink); text-align:left; }
  #sixSettings .six-tool-title:has(.six-add-tab) .six-add-tab::before { content:""; position:absolute; top:0; left:0; right:var(--six-diagonal-half); height:1px; background:var(--ts-line); pointer-events:none; }
  #sixSettings .six-tool-title:has(.six-add-tab) #sixResetSettings { grid-column:2; grid-row:1; order:1; align-self:center; justify-self:end; width:auto; min-height:30px; margin:0 10px; padding:4px 12px; border:1px solid var(--ts-line); border-radius:8px; background:var(--ts-surface); color:var(--ts-ink-2); font-size:12px; }
  #sixSettings .six-tool-title:has(.six-add-tab) button:hover { background:transparent; color:var(--ts-accent-ink); text-decoration:underline; text-underline-offset:3px; }
  #sixSettings .six-tool-title:has(.six-add-tab) + .six-tabs { margin-top:0; padding-top:5px; border-top:0; border-radius:0 0 11px 11px; background:var(--ts-panel); }
  #sixVerseQuestion .six-public-consent { margin-top:6px; padding:8px 10px; font-size:12px; }
  #sixVerseQuestion .six-public-consent-note { margin:5px 0 8px; font-size:11px; }
  #sixVerseQuestion.ts-popup { box-sizing:border-box; position:fixed; top:calc(var(--six-question-viewport-top, 0px) + 8px); bottom:auto; left:0; right:0; width:calc(100vw - 16px); height:calc(var(--six-question-viewport-height, 100dvh) - 16px); max-height:calc(var(--six-question-viewport-height, 100dvh) - 16px); margin:0 auto; border-radius:14px; }
  #sixVerseQuestion .ts-popup-head { min-height:40px; padding:8px 12px; }
  #sixVerseQuestion .ts-popup-body { flex:1; gap:8px; padding:12px; overflow-y:auto; }
  #sixVerseQuestion .ts-popup-body > * { flex-shrink:0; }
  #sixVerseQuestion .six-question-input { box-sizing:border-box; flex:1 0 120px; min-height:120px; max-height:none; width:100%; padding:10px 12px; resize:none; font-size:16px; }
  #sixVerseQuestion .six-question-auth-hint { font:400 12px/1.5 var(--ksans); }
  #sixVerseQuestion .ts-auth-message:empty { display:none; }
  #sixVerseQuestion .six-question-register .ts-field { box-sizing:border-box; height:40px; }
  #sixSettings { position: fixed !important; z-index: 60; top: var(--six-header-height, 60px); right: 0; bottom: auto; left: 0; width: 100%; max-width: none; max-height: calc(100dvh - var(--six-header-height, 60px) - 24px); margin: 0; overflow-y: auto; box-sizing: border-box; }
  body.six-settings-open #sixSettingsBackdrop { display: block !important; position: fixed; z-index: 50; inset: var(--six-header-height, 60px) 0 0; width: 100%; border: 0; background: rgba(12,18,25,.45); }
  #sixSettings .main-head .left-btns,
  #sixSettings .main-head .searchrow select,
  #sixSettings .main-head .six-search-hint { display: none !important; }
  #sixSettings .main-head .searchrow { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  #sixSettings .main-head .navrow .right-btns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content;
    grid-template-areas: "font theme" "contrast notes";
    align-items: stretch;
    gap: 7px;
  }
  #sixSettings .main-head .navrow .right-btns > .ts-font-size { grid-area: font; width: 100%; min-width: 0; box-sizing: border-box; }
  #sixSettings .main-head .navrow .right-btns > #themeToggleBtn { grid-area: theme; width: max-content; max-width: 100%; white-space: nowrap; }
  #sixSettings .main-head .navrow .right-btns > .highlight-control { grid-area: contrast; width: 100%; min-width: 0; box-sizing: border-box; }
  #sixSettings .main-head .navrow .right-btns > [data-c="hidenote"] { grid-area: notes; width: 86px; min-height: 44px; }
  #sixSettings .main-head .navrow .right-btns > #viewToggleBtn { display: none !important; }
}
@media (min-width: 768px) {
  body[data-six-tab-selection="book"] .sidebar-chapters-pane { display:none; }
  body[data-six-tab-selection] #mainScroll .chapter-header,
  body[data-six-tab-selection] #mainScroll .six-language-empty,
  body[data-six-tab-selection] #mainScroll #realContent,
  body[data-six-tab-selection] #mainScroll #placeholderContent,
  body[data-six-tab-selection] #mainScroll .six-desktop-chapter-nav,
  body[data-six-tab-selection] #mainScroll .six-reader-credit { display:none !important; }
  body[data-six-tab-selection] #mainScroll .content { display:grid; place-items:center; box-sizing:border-box; width:100%; height:100%; max-width:none; padding:16px; }
  body[data-six-tab-selection] .six-tab-selection-welcome { display:grid; place-items:center; width:min(42vh, 360px); height:min(42vh, 360px); }
  body[data-six-tab-selection] .six-tab-selection-welcome img { display:block; width:100%; height:100%; object-fit:contain; }
  body[data-six-tab-selection="chapter"] .sidebar-chapters-pane { display:block; }
}

@media (max-width: 767px) {
  .toast.six-toast-center { top: 50%; bottom: auto; transform: translate(-50%, -50%); }
}

/* 8) 구약/신약 아코디언(사람 지시 2026-09-30, 동작은 reader-testament-accordion.js) — 장 목록이 책 목록 아래로 내려오는
      PC 폭(768~1599px)에서만 한 쪽만 펼침. 헤더는 button이지만 그 밖의 폭에서는 예전 제목 칸과 똑같이 보인다. */
.ts-testament-head { width: 100%; font-family: inherit; text-align: left; cursor: default; }
.ts-acc-caret { display: none; }
/* 모바일은 위쪽 "구약·39 / 신약·27" 탭이 이미 있으므로 아래 구약/신약 제목 칸은 숨긴다(사람 지시 2026-09-30). */
@media (max-width: 767px) { .ts-testament-head { display: none !important; } }
body.ts-testament-accordion .ts-testament-head { cursor: pointer; }
body.ts-testament-accordion .ts-testament-head:focus-visible { outline: 2px solid var(--ts-accent); outline-offset: 2px; }
/* 화살표는 글자(⌄/⌃)가 아닌 선 두 개로 그려 헤더 한가운데(가로·세로)에 둔다 — 사람 지시 2026-09-30 "화살표가 중간에 있게". */
body.ts-testament-accordion .ts-testament-head { position: relative; }
body.ts-testament-accordion .ts-testament-head .ts-acc-caret {
  display: block; position: absolute; left: 50%; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; pointer-events: none;
}
body.ts-testament-accordion .ts-testament-head .ts-acc-caret::before {
  content: ""; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px;
  border: solid currentColor; border-width: 0 2px 2px 0; border-radius: 1px;
}
body.ts-testament-accordion .ts-testament-head[aria-expanded="false"] .ts-acc-caret::before { transform: translate(-50%, -75%) rotate(45deg); }
body.ts-testament-accordion .ts-testament-head[aria-expanded="true"] .ts-acc-caret::before { transform: translate(-50%, -25%) rotate(-135deg); opacity: .45; }
body.ts-testament-accordion .ts-testament-head[aria-expanded="false"] .ts-acc-caret { animation: ts-acc-hint 1.4s ease-in-out infinite; }
body.ts-testament-accordion .ts-testament-head[aria-expanded="false"]:hover { filter: brightness(.97); }
@keyframes ts-acc-hint { 0%, 100% { opacity: .4; transform: translateY(-1px); } 50% { opacity: 1; transform: translateY(2px); } }
body.ts-testament-accordion .book-grid { max-height: 900px; overflow: hidden; transition: max-height .3s ease, opacity .2s ease; }
body.ts-testament-accordion .book-grid.ts-acc-collapsed { max-height: 0; opacity: 0; margin-bottom: 0; }
@media (prefers-reduced-motion: reduce) {
  body.ts-testament-accordion .ts-testament-head .ts-acc-caret { animation: none !important; opacity: 1; }
  body.ts-testament-accordion .book-grid { transition: none; }
}

/* 9) PC Top 읽기 탭 줄(TASK-031, 사람 지시 2026-09-30) — reader-top-tabs.js.
       [브랜드] | [< 탭 탭 탭 … + >][⚙]  왼쪽 끝 = 본문 읽기 칸(.main) 왼쪽, 오른쪽 끝 = ⚙ 앞 8px(JS가 left/right를 잰다).
       넘치면 ⚙ 쪽에 >, 처음에서 벗어나면 앞에 <. 이 줄이 켜지면 ⚙ 패널의 세로 탭 목록은 숨긴다(모바일 ⚙ 시트는 그대로). */
.ts-top-tabs { display: none; }
@media (min-width: 768px) {
  body.ts-top-tabs-on .main-head .six-tabs { display: none; }
  .ts-top-tabs {
    position: absolute; top: 0; bottom: 0; left: 0; right: 0;
    display: flex; align-items: center; gap: 4px; min-width: 0;
  }
  .ts-top-tab-list {
    position: relative; display: flex; align-items: center; gap: 4px; flex: 0 1 auto; min-width: 0;
    height: 100%; padding: 0 2px 0 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain;
  }
  .ts-top-tab-list::-webkit-scrollbar { display: none; }
  .ts-top-tab {
    position: relative; display: flex; align-items: center; flex: 0 0 auto;
    height: 34px; max-width: 200px; border: 1px solid var(--ts-line); border-radius: 8px;
    background: var(--ts-surface); color: var(--ts-ink-2); touch-action: pan-x; user-select: none;
    transition: background .12s, border-color .12s, opacity .12s;
  }
  .ts-top-tab:hover { background: var(--ts-hover); }
  .ts-top-tab[data-active="true"] { background: var(--ts-accent-soft); border-color: var(--ts-accent); color: var(--ts-accent-ink); }
  .ts-top-tab[data-dragging="true"] { opacity: .45; }
  .ts-top-tabs[data-dragging="true"] .ts-top-tab, .ts-top-tabs[data-dragging="true"] .ts-top-tab-label { cursor: grabbing; }
  .ts-top-tab-label {
    display: flex; align-items: center; gap: 6px; min-width: 0; height: 100%; min-height: 0;
    padding: 0 4px 0 10px; border: 0; background: transparent; color: inherit; cursor: pointer;
    font: 600 12.5px var(--ksans); white-space: nowrap;
  }
  .ts-top-tab[data-active="true"] .ts-top-tab-label { font-weight: 700; }
  .ts-top-tab-no {
    display: inline-grid; place-items: center; flex-shrink: 0; min-width: 16px; height: 16px; padding: 0 3px; border-radius: 5px;
    background: var(--ts-line-soft); color: var(--ts-sub); font: 700 10.5px var(--ksans);
  }
  .ts-top-tab[data-active="true"] .ts-top-tab-no { background: var(--ts-surface); color: var(--ts-accent-ink); }
  .ts-top-tab-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .ts-top-tab-close, .ts-top-tab-add, .ts-top-tabs-scroll {
    display: grid; place-items: center; flex-shrink: 0; min-height: 0; padding: 0;
    border: 0; background: transparent; color: var(--ts-sub); cursor: pointer;
  }
  .ts-top-tab-close { width: 22px; height: 22px; margin-right: 5px; border-radius: 6px; }
  .ts-top-tab-close svg, .ts-top-tabs-scroll svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .ts-top-tab-close:hover { background: var(--ts-line); color: var(--ts-ink); }
  .ts-top-tab-add {
    width: 30px; height: 30px; border: 1px dashed var(--ts-line); border-radius: 8px;
    font: 500 18px/1 var(--ksans); color: var(--ts-accent-ink);
  }
  .ts-top-tab-add:hover { background: var(--ts-accent-soft); border-color: var(--ts-accent); }
  .ts-top-tabs-scroll {
    width: 26px; height: 30px; border: 1px solid var(--ts-line); border-radius: 8px; background: var(--ts-surface); color: var(--ts-ink-2);
  }
  .ts-top-tabs-scroll svg { width: 13px; height: 13px; stroke-width: 2; }
  .ts-top-tabs-scroll:hover { background: var(--ts-accent-soft); border-color: var(--ts-accent-2); color: var(--ts-accent-ink); }
  .ts-top-tabs-scroll[hidden] { display: none; }
  /* 넘칠 때: > 는 ⚙ 쪽 끝으로 밀린다(탭 목록이 남은 폭을 다 쓴다) */
  .ts-top-tabs[data-overflow="true"] .ts-top-tab-list { flex: 1 1 auto; }
  .ts-top-tabs [data-dir="1"] { margin-left: auto; }
  .ts-top-tab-label:focus-visible, .ts-top-tab-close:focus-visible, .ts-top-tab-add:focus-visible, .ts-top-tabs-scroll:focus-visible {
    outline: 2px solid var(--ts-accent); outline-offset: -2px; border-radius: 7px;
  }
  .ts-top-tab-drop {
    position: absolute; left: 0; top: 50%; width: 3px; height: 26px; margin-top: -13px; border-radius: 2px;
    background: var(--ts-accent); pointer-events: none; z-index: 2;
  }
  .ts-top-tab-drop[hidden] { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ts-top-tab { transition: none; } }

/* 10) PC ⚙ 패널 줄 배치(사람 지시 2026-09-30): 대조색 농도 칸(크기 그대로)을 표시 필터 [대조 색] 왼쪽으로.
       1줄 [글씨 크기][좌우 언어대조][다크 모드]  2줄 [대조색 농도 ━●━ 60%][대조 색][활자 기호][해설]  3줄 활자 기호 안내.
       DOM은 그대로(표시 필터·안내는 reader-settings.js syncViewport가 .right-btns 안으로 옮김), order + 줄바꿈 칸(::before)만. */
@media (min-width: 768px) {
  .ts-topbar .main-head .navrow .right-btns > .ts-font-size { order: 1; }
  .six-copy-prompt { display: none !important; }
  .ts-topbar .main-head .navrow .right-btns > #viewToggleBtn { order: 2; }
  .ts-topbar .main-head .navrow .right-btns > #themeToggleBtn { order: 3; }
  .ts-topbar .main-head .navrow .right-btns::before { content: none; }
  .ts-topbar .main-head .navrow .right-btns > .highlight-control { order: 5; }
  .ts-topbar .main-head .navrow .right-btns > [data-c="hidenote"] { order: 6; }
  .ts-topbar .main-head .navrow .right-btns > .six-settings-other { order: 7; flex: 0 0 100%; margin-top: 0; }
}
@media (max-width: 767px) {
  #sixSettings .six-settings-title-actions { position: relative; z-index: 1; grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding: 3px 10px 3px 0; }
  #sixSettings .six-tool-title:has(.six-add-tab) .six-settings-title-actions #sixResetSettings { margin: 0; }
  #sixSettings .six-settings-title-actions [data-c="hidenote"] { min-height: 30px; padding: 4px 10px; border: 1px solid var(--ts-line); border-radius: 8px; background: var(--ts-surface); color: var(--ts-ink-2); font: 600 12px var(--ksans); cursor: pointer; }
  #sixSettings .six-settings-title-actions [data-c="hidenote"].on { background: var(--ts-accent-soft); border-color: var(--ts-accent-2); color: var(--ts-accent-ink); }
  #sixSettings .main-head .navrow .right-btns { grid-template-areas: "font theme" "contrast contrast"; }
  body[data-six-screen="read"] .six-copy-prompt { position: fixed; top: calc(var(--six-header-height, 60px) + 6px); bottom: auto; left: 8px; right: 8px; z-index: 30; box-sizing: border-box; min-height: 38px; margin: 0; pointer-events: none; }
  body[data-six-screen="read"] .six-copy-prompt[hidden] { display: none; }
  body[data-six-screen="read"].six-copy-prompt-on .content { padding-top: calc(8px + var(--six-copy-prompt-space, 0px)); transition: padding-top .15s; }
  body:not(.hidenote) #realContent .verse .note { display: none !important; }
  body:not(.hidenote) #realContent .verse.six-mobile-note-open .note { display: block !important; }
  .six-question-trigger { touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
}

.ts-length-counter { margin:4px 2px 0; min-height:1em; font:500 12px/1.5 var(--ksans); color:var(--ts-sub); text-align:right; }
.ts-length-counter:empty { display:none; }
.ts-length-counter.is-over { color:#b42318; text-align:left; }

.ts-search-view-head { margin:8px 0 14px; }
.ts-search-view-head h2 { margin:0 0 4px; font:800 20px var(--ksans); color:var(--ts-ink-strong, inherit); }
.ts-search-view-head p, .ts-search-view-status { margin:0; color:var(--ts-sub); font:500 13px/1.6 var(--ksans); }
.ts-search-view-loc { display:block; margin:18px 0 4px; padding:0; border:0; background:none; color:var(--ts-accent-ink); font:800 14px var(--ksans); cursor:pointer; text-align:left; }
.ts-search-view-loc:hover { text-decoration:underline; }
.ts-search-view .verse { border-top:0; }
/* 검색어 강조: 찾은 낱말을 붉은 글씨로(사람 지시 2026-10-19) */
mark.ts-search-hit { background:none !important; color:#c62828 !important; font-weight:700; padding:0; border-radius:0; }
body.dark-mode mark.ts-search-hit, html[data-theme="dark"] mark.ts-search-hit { color:#ff6b6b !important; }
/* 검색 결과 쪽 이동(50절씩)·전체 보기 — reader-search-tab.js */
.ts-search-pager { display:flex; flex-direction:column; align-items:center; gap:12px; margin:28px 0 36px; padding:18px 12px; border-top:1px solid var(--ts-line, rgba(0,0,0,.12)); text-align:center; }
.ts-search-pager-info { margin:0; color:var(--ts-sub); font:600 14px/1.6 var(--ksans); }
.ts-search-pages { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; }
.ts-search-pages button { min-width:40px; height:40px; padding:0 12px; border:1px solid var(--ts-line, rgba(0,0,0,.15)); border-radius:10px; background:var(--ts-surface, transparent); color:inherit; font:700 14px var(--ksans); cursor:pointer; }
.ts-search-pages button.is-current { background:var(--ts-accent-ink); border-color:var(--ts-accent-ink); color:#fff; }
.ts-search-pages button:disabled { opacity:.4; cursor:default; }
.ts-search-pages span { color:var(--ts-sub); padding:0 2px; }
.ts-search-all { height:44px; padding:0 22px; border:1px solid var(--ts-accent-ink); border-radius:12px; background:none; color:var(--ts-accent-ink); font:800 15px var(--ksans); cursor:pointer; }

/* **…** 표시(1611 대문자 · 신성 호칭 미확정, 100 결정 2026-10-06): 별표 없이 굵게 */
.strong-cap, .k-strong { font-weight:700; }
/* _…_ 표시(1611 소문자 angel — 용·마귀·악한 쪽 6자리): 밑줄 기호 없이 작은 글씨 */
.small-angel, .k-small-angel { font-size:.82em; }
/* {{ }} 풀이 겉옷: 우리가 붙인 읽기 돕기 말 — [[ ]]처럼 역기울임만(굵기·자간 없음). */
.sheet .k-gloss { font-style: oblique -11deg; font-weight: inherit; letter-spacing: normal; }
body.marks .sheet .k-gloss { outline: 1px dotted currentColor; outline-offset: 1px; }
/* (( )) 뜻 꼬리표의 괄호는 우리가 씌운 것이라 활자 기호를 켰을 때만 보인다(KJV 원래의 ( )는 늘 보인다). */
body:not(.marks) .sheet .k-tag-paren { display: none; }
/* 창세기 조각은 예전 생성기로 만들어져 {{ }}가 대문자 문장 표시가 겹친 꼴(k-capital-sentence 안의 k-capital-sentence)로 남아 있다 — 같은 풀이 겉옷으로 보이게 한다. */
.sheet :is(.ko, .ks) .k-capital-sentence:has(> .k-capital-sentence),
.sheet :is(.ko, .ks) .k-capital-sentence > .k-capital-sentence { font-family: inherit; font-weight: inherit; letter-spacing: normal; }
.sheet :is(.ko, .ks) .k-capital-sentence > .k-capital-sentence { font-style: oblique -11deg; }
/* 넓은 화면(PC): 채팅 내용과 입력창을 가운데 일정한 폭으로 모은다 — 전송 버튼이 화면 오른쪽 끝까지 밀려나지 않게. 모바일은 그대로. */
@media (min-width: 768px) {
  .ts-scripture-chat-page > .ts-scripture-chat-messages,
  .ts-scripture-chat-page > .ts-scripture-chat-status,
  .ts-scripture-chat-page > .ts-scripture-chat-compose,
  .ts-scripture-chat-page > .ts-length-counter { width: 100%; max-width: 880px; margin-left: auto; margin-right: auto; box-sizing: border-box; }
}

.ts-word-story-draft { margin:0 0 10px; padding:8px 12px; border:1px dashed var(--ts-line); border-radius:8px; color:var(--ts-sub); font:500 13px/1.6 var(--ksans); }
.ts-word-story-search { width:100%; box-sizing:border-box; margin:0 0 6px; }
.ts-word-story-category { margin:22px 0 8px; font:800 16px var(--ksans); color:var(--ts-accent-ink); }
.ts-word-story-meta { margin:6px 0 0; color:var(--ts-sub); font-size:13px; line-height:1.6; }
.ts-word-story-table { width:100%; border-collapse:collapse; margin:8px 0; font-size:13px; }
.ts-word-story-table th, .ts-word-story-table td { border:1px solid var(--ts-line); padding:6px 8px; text-align:left; vertical-align:top; }

/* 검색 결과 화면(reader-search-tab.js): 위쪽은 "검색 결과"만 보이고, 한 장의 절 번호 고르기는 뜻이 없으므로 숨긴다(사람 지시 2026-10-17). */
body[data-search-view] #sixVerseTrigger { display:none; }
