/* ━━━ user5 jats.css — XSL fulltext 콘텐츠 스타일 ━━━ */

/* 제목 */
.art-title-kr{font-family:var(--kr-head);font-size:24px;font-weight:800;line-height:1.4;letter-spacing:-0.3px;color:#111;margin-bottom:14px;}
.art-title-en{font-family:var(--en);font-size:22px;font-weight:600;line-height:1.4;color:#111;margin-bottom:14px;}

.block-kr{margin-bottom:15px;padding-bottom:15px;}
.block-en{padding-bottom:30px;}

/* 저자 */
.author-block{position:relative;}
.art-authors{font-size:15px;line-height:1.9;margin-bottom:12px;}
.auth-item{display:inline;position:relative;}
.auth-kr{font-family:var(--kr-body);font-size:15px;font-weight:600;color:#111;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#111;}
.auth-kr:hover{text-decoration-color:#111;}
.auth-en{font-family:var(--en);font-size:15px;color:#111;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#111;}
.auth-en:hover{text-decoration-color:#111;}
.auth-sub{font-family:var(--en);font-size:10.5px;color:#999;vertical-align:super;line-height:0;}
.auth-sep{color:#999;margin:0 3px;}

/* 교신저자 아이콘 */
.corr-icon{display:inline-block;width:14px;height:14px;margin-left:4px;vertical-align:text-bottom;cursor:pointer;}
.corr-icon svg{width:14px;height:14px;display:block;}

/* 소속 tooltip */
.affil-tooltip{position:absolute;left:0;top:calc(100% + 6px);background:#fff;border:1px solid #e0e0e0;border-radius:5px;padding:10px 14px;z-index:20;min-width:280px;max-width:420px;box-shadow:0 4px 16px rgba(0,0,0,0.10);display:none;font-family:var(--kr-body);font-size:13px;color:#333;line-height:1.6;white-space:normal;}
.auth-item:hover .affil-tooltip{display:block;}
.affil-row{display:flex;gap:6px;margin-bottom:3px;align-items:flex-start;}
.affil-row:last-child{margin-bottom:0;}
.affil-sup{font-family:var(--en);font-size:10px;color:#aaa;flex-shrink:0;padding-top:2px;min-width:10px;}
.affil-kr-main{font-family:var(--kr-body);font-size:13px;font-weight:500;color:#333;line-height:1.55;}
.affil-en-main{font-family:var(--en);font-size:13px;color:#333;line-height:1.55;}
.affil-note{font-size:12px;color:#555;margin-left:2px;}

/* Show all authors 버튼 */
.show-authors-btn{display:inline-flex;align-items:center;gap:4px;font-family:var(--en);font-size:12px;color:#666;background:#fff;border:1px solid #ddd;padding:2px 8px 2px 6px;border-radius:20px;cursor:pointer;margin-left:6px;vertical-align:middle;transition:border-color 0.12s,color 0.12s;}
.show-authors-btn:hover{border-color:#999;color:#111;}
.show-authors-btn .plus{font-size:15px;line-height:1;font-weight:400;color:#999;}

/* 초록 */
.abs-section{margin-top:20px;margin-bottom:24px;}
.abs-section:last-child{margin-bottom:28px;}
.abs-label{font-family:var(--kr-head);font-size:16.5px;font-weight:800;color:#111;margin-bottom:13px;display:block;letter-spacing:-0.2px;}
.abs-label.kr{font-family:var(--kr-head);font-size:16.5px;font-weight:800;color:#111;text-transform:none;letter-spacing:-0.2px;}
.abstract-text-kr{font-family:var(--kr-body);font-size:16px;line-height:1.9;color:#1a1a1a;margin-bottom:14px;}
.abstract-text-kr .term{font-family:var(--en);font-size:15px;color:#333;}
.abstract-text-en{font-family:var(--en);font-size:16px;line-height:1.9;color:#1a1a1a;margin-bottom:14px;}

/* 키워드 */
.kw-wrap{margin-bottom:20px;}
.kw-label{font-family:var(--en);font-size:11px;font-weight:600;color:#444;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.kw-label.kr{font-family:var(--kr-head);font-size:11px;color:#888;text-transform:none;letter-spacing:0.2px;}
.keywords{display:flex;flex-wrap:wrap;gap:6px;}
.kw{font-size:13px;color:#333;border:1px solid #e8e8e8;padding:4px 12px;border-radius:20px;cursor:pointer;font-family:var(--kr-body);}
.kw.en{font-family:var(--en);}
.kw:hover{background:#f5f5f5;}

/* 본문 섹션 */
.body-sec{margin-bottom:28px;}
.body-sec h3{font-family:var(--kr-head);font-size:16.5px;font-weight:800;color:#111;margin-bottom:13px;padding-bottom:8px;display:flex;align-items:baseline;gap:9px; margin-top: 40px;}
.body-sec h3 .en{font-family:var(--en);font-size:13px;font-weight:400;color:#aaa;}
.body-sec h4{font-family:var(--kr-head);font-size:14.5px;font-weight:800;color:#222;margin:20px 0 10px;}
.body-sec p{font-family:var(--kr-body);font-size:16px;line-height:1.65;color:#1a1a1a;margin-bottom:14px;}
.body-sec p:last-child{margin-bottom:0;}
.body-sec p .term{font-family:var(--en);font-size:15px;color:#333;}
.body-sec sup{font-size:11px;color:var(--blue);font-family:var(--en);}

/* 섹션 제목 (대안) */
.sec-title{font-family:var(--kr-head);font-size:18px;font-weight:800;color:#111;margin:0 0 16px;display:flex;align-items:center;gap:9px;}
.sec-title::before{content:'';display:inline-block;width:3px;height:17px;background:var(--blue);border-radius:1px;}
.sec-title .en{font-family:var(--en);font-size:13px;font-weight:400;color:#aaa;}

/* 수식 */
.eq-line{font-family:var(--en);font-size:15.5px;color:#1a1a1a;line-height:1.65;margin:10px 0 14px;}

/* 그림/표 — JS 변환 전 기본 제한 (깜빡임 방지) */
.fig.table-wrap2 img,.table-wrap.table-wrap2 img,.fig img,.table-wrap img{max-width:220px;height:auto;transition:max-width 0.2s;}
.fig-box{margin:14px 0 10px;display:flex;align-items:flex-start;gap:14px;}
.fig-thumb-wrap{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;}
.fig-thumb{flex-shrink:0;width:220px;cursor:zoom-in;border:1px solid #e4e4e4;border-radius:3px;background:#fafafa;overflow:hidden;position:relative;transition:border-color 0.15s,box-shadow 0.15s;}
.fig-thumb:hover{border-color:#aac4e8;box-shadow:0 2px 8px rgba(26,79,163,0.12);}
.fig-thumb svg{display:block;width:100%;height:auto;}
.fig-thumb img{display:block;width:100%;height:auto;}
.fig-thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.15s;background:rgba(26,79,163,0.06);}
.fig-thumb:hover .fig-thumb-overlay{opacity:1;}
.fig-thumb-overlay span{font-family:var(--en);font-size:11px;font-weight:700;color:var(--blue);background:rgba(255,255,255,0.92);padding:3px 9px;border-radius:20px;box-shadow:0 1px 4px rgba(0,0,0,0.12);}
.fig-caption{font-family:var(--kr-body);font-size:13.5px;color:#555;line-height:1.65;padding-top:2px;flex:1;}
.fig-caption .num-kr{font-family:var(--kr-head);font-weight:800;color:#333;}
.fig-caption .num-en{font-family:var(--en);color:#999;margin-left:4px;}
.fig-expand-hint{display:block;margin-top:5px;font-family:var(--en);font-size:11px;color:var(--blue);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.fig-thumb-table{min-height:60px;background:#f8f9fb;overflow:hidden;padding:0;}
.fig-thumb-table-inner{transform-origin:top left;pointer-events:none;}
.fig-thumb-table-inner table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.4;}
.fig-thumb-table-inner table th,.fig-thumb-table-inner table td{padding:3px 5px;border:1px solid #ddd;}
/* 각주 */
.footnote{font-family:var(--kr-body);font-size:16px;color:#333;line-height:1.7;margin-bottom:6px;}
.footnote p:first-child b{font-family:var(--kr-head);font-size:16.5px;font-weight:800;color:#111;margin-bottom:13px;padding-bottom:8px;display:flex;align-items:baseline;gap:9px;margin-top:40px;}
.fn-p{display:inline; padding-left: 4px;}
.fig-footnote{display:none;}
.fig-footnote .fn-mark{font-size:11px;color:#aaa;margin-right:2px;}

/* 참고문헌 */
.article-back{margin-top:32px;}
ol.ref-list{list-style:none;counter-reset:ref-counter;padding:0;margin:0;}
li.ref-entry{counter-increment:ref-counter;font-family:var(--en);font-size:14.5px;color:#222;line-height:1.75;padding:8px 0 8px 34px;border-bottom:none;position:relative;}
li.ref-entry::before{content:counter(ref-counter) ".";position:absolute;left:0;top:9px;font-family:var(--en);font-size:14px;color:#aaa;width:26px;text-align:right;}
li.ref-entry em{font-style:italic;}
.ref-links{display:block;margin-top:3px;}
.ref-link-btn{font-family:var(--en);font-size:12.5px;color:var(--blue);text-decoration:none;}
.ref-link-btn + .ref-link-btn::before{content:'·';color:#ccc;margin:0 6px;}
.ref-link-btn:hover{text-decoration:underline;}

/* citation (XSL 기존 출력) */
.back-section h3 {font-family:var(--kr-head);font-size:16.5px;font-weight:800;color:#111;margin-bottom:13px;padding-bottom:8px;display:flex;align-items:baseline;gap:9px; margin-top: 40px;}
p.citation{font-family:var(--en);font-size:14.5px;color:#222;line-height:1.75;margin:0;}

/* Article Info / Copyright 인라인 탭 */
.inline-tabs-bar{display:flex;align-items:center;flex-wrap:wrap;margin-top:20px;padding:0;gap:0;}
.inline-tab{display:flex;align-items:center;gap:7px;font-family:var(--en);font-size:14px;font-weight:600;color:var(--main-color);padding:12px 0;cursor:pointer;user-select:none;transition:color 0.15s;white-space:nowrap;}
.inline-tab:hover{color:var(--main-color);}
.inline-tab.open{color:var(--main-color);}
.inline-tab .itab-chevron{display:inline-block;width:7px;height:7px;border-right:2px solid var(--main-color);border-bottom:2px solid var(--main-color);transform:rotate(45deg);transition:transform 0.2s;vertical-align:middle;margin-bottom:2px;}
.inline-tab.open .itab-chevron{transform:rotate(-135deg);margin-bottom:-4px;}
.inline-sep{width:1px;height:16px;background:#ddd;margin:0 18px;flex-shrink:0;}
.inline-body{overflow:hidden;max-height:0;transition:max-height 0.28s ease;width:100%;}
.inline-body.open{max-height:400px;padding:14px 0 4px;}
.meta-body{font-family:var(--en);font-size:13px;color:#222;line-height:1.85;}
.meta-body a{color:var(--blue);text-decoration:none;}
.cc-row{display:flex;align-items:flex-start;gap:8px;margin-top:8px;}
.cc-badge{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.cc-item{width:18px;height:18px;background:#999;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:700;color:#fff;font-family:var(--en);}
.cc-item.rect{border-radius:3px;width:24px;}
.cc-text{font-family:var(--en);font-size:12px;color:#333;line-height:1.65;}
.cc-text a{color:var(--blue);text-decoration:none;}

/* article-header (XSL front matter 래퍼) */
.article-header{margin-bottom:8px;}

/* article-body (XSL body 래퍼) */
.article-body{margin-bottom:0;}

/* 라이트박스 */
#lb-overlay{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.72);align-items:center;justify-content:center;cursor:zoom-out;}
#lb-overlay.open{display:flex;}
#lb-box{background:#fff;border-radius:6px;padding:28px 32px 22px;max-width:min(820px,92vw);width:100%;position:relative;cursor:default;box-shadow:0 12px 48px rgba(0,0,0,0.32);max-height:90vh;overflow-y:auto;}
#lb-close{position:absolute;top:12px;right:16px;font-size:24px;line-height:1;color:#888;cursor:pointer;font-family:var(--en);font-weight:300;transition:color 0.12s;}
#lb-close:hover{color:#111;}
#lb-svg-wrap{width:100%;margin-bottom:6px;}
#lb-svg-wrap svg{width:100%;height:auto;display:block;}
#lb-caption{font-family:var(--kr-body);font-size:15px;color:#333;line-height:1.6;margin-bottom:12px;}
#lb-caption .num-kr{font-family:var(--kr-head);font-weight:800;color:#111;margin-right:6px;}
#lb-caption .num-en{font-family:var(--en);font-weight:800;color:#111;margin-right:6px;}
.lb-footnote{margin-top:4px;padding-top:0;font-family:var(--en);font-size:12.5px;color:#555;line-height:1.65;}
.lb-footnote .fn-mark{font-size:11px;color:#666;margin-right:2px;}

.xref { color: #495aa9; }
.uri-link { color: #495aa9; word-break: break-all; }

/* ━━━ 반응형 ━━━ */
@media (max-width: 1024px) {
  /*.fig-thumb { width: 180px; }*/
  .auth-item:hover .affil-tooltip { display: none; }
  .mobile-affil-box { display: none; background: #fff; border: 1px solid #e0e0e0; border-radius: 5px; padding: 10px 14px; margin-top: 10px; box-shadow: 0 4px 16px rgba(0,0,0,0.10); font-family: var(--kr-body); font-size: 13px; color: #333; line-height: 1.6; width: 65%; }
  .affil-corr { margin-top: 6px; padding-top: 6px; border-top: 1px solid #eee; font-size: 12px; color: #666; }
  .affil-corr a { color: var(--blue); text-decoration: underline; }
}
@media (max-width: 768px) {
  .art-title-kr { font-size: 20px; }
  .art-title-en { font-size: 18px; }
  /*.fig-box { flex-direction: column; gap: 8px; }*/
  .fig-box { gap: 8px; }
  .fig-thumb-wrap { width: 150px; }
  .fig-thumb-table { height: 80px; }
  .fig-thumb { width: 100%; }
  .body-sec p { font-size: 15px; }
  .abs-label { font-size: 14px; }
  .abstract-text-kr, .abstract-text-en { font-size: 15px; }
  #lb-box { padding: 20px 16px 16px; }
  li.ref-entry { font-size: 13.5px; }
}
@media (max-width: 480px) {
  .body-sec h3 { font-size: 15px; }
  .body-sec p { font-size: 14.5px; }
  #lb-box { padding: 16px 12px 14px; }
  #lb-caption { font-size: 13px; }
  .inline-tab { font-size: 12px; }
}
@media (max-width: 400px) {
  .inline-tab { font-size: 11px; }
}