/* 유학·이민·시험 자료실 (/library/) 전용 — 2026-11-06
   도구/make_library.py 가 만드는 페이지에만 붙음. 고치면 make_library.py 의 CSSV 를 올리고 다시 실행.
   사이트 규칙(§3): 알약 버튼·호버 부양·이모지·영어 라벨 금지, 카드 모서리 14px, 버튼 6px. */
.lb{--lb-n:#14265A;--lb-b:#2F6FDB;--lb-bs:#EEF3FF;--lb-g:#8A6416;--lb-ln:#E3E8F4;--lb-i2:#3F4A5E;--lb-i3:#5A6478;padding:28px 0 64px;background:var(--bg,#F3F4F6)}
.lb-wrap{max-width:820px}
.lb-wrap--wide{max-width:1080px}
.lb-crumb{font-size:14px;color:var(--lb-i3);margin-bottom:18px}
.lb-crumb a{color:var(--lb-i3)}
.lb-topic{display:inline-block;font-weight:700;font-size:14px;color:var(--lb-g);letter-spacing:.01em}
.lb h1{font-family:var(--serif);font-size:clamp(28px,4.6vw,40px);line-height:1.3;margin:8px 0 10px;color:var(--ink)}
.lb-meta{font-size:15px;color:var(--lb-i3);margin:0 0 22px}
.lb-lead{font-size:18px;line-height:1.75;max-width:760px;color:var(--lb-i2)}

.lb-toc{background:#fff;border:1px solid var(--lb-ln);border-radius:var(--r,14px);padding:14px 20px;margin-bottom:26px}
.lb-toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}
.lb-toc li{font-size:15px;line-height:1.6;padding:3px 0;break-inside:avoid}
.lb-toc a{color:var(--lb-i2);text-decoration:none}
.lb-toc a:hover{color:var(--lb-b);text-decoration:underline}

.lb-body{font-size:17px;line-height:1.8;color:var(--ink)}
.lb-body h2{font-family:var(--serif);font-size:clamp(21px,2.8vw,26px);line-height:1.4;margin:44px 0 12px;scroll-margin-top:100px}
.lb-body p{margin:0 0 14px}
.lb-body ul,.lb-body ol{margin:0 0 16px;padding-left:22px}
.lb-body li{margin:4px 0}
.lb-body a{color:var(--lb-b)}

.lb-ans{background:var(--lb-n);color:#EEF1F8;border-radius:var(--r,14px);padding:22px 24px;margin:0 0 14px}
.lb-ans p{margin:6px 0 0;font-size:17.5px;line-height:1.75}
.lb-ans b{color:#fff}
.lb-ans__k{font-weight:700;font-size:14px;color:#E9C987}
.lb-basis{font-size:15px!important;color:var(--lb-i3);border-left:3px solid var(--gold,#B9862E);padding:2px 0 2px 12px}

.lb-tbl{overflow-x:auto;background:#fff;border:1px solid var(--lb-ln);border-radius:var(--r,14px);margin:6px 0 6px;-webkit-overflow-scrolling:touch}
.lb-tbl table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.5}
.lb-tbl th,.lb-tbl td{padding:11px 14px;border-bottom:1px solid var(--lb-ln);text-align:left;vertical-align:top}
.lb-tbl thead th{background:var(--lb-bs);color:var(--lb-n);font-weight:700;font-size:15px;white-space:nowrap}
.lb-tbl tbody th{font-weight:700;color:var(--lb-i2)}
.lb-tbl tr:last-child th,.lb-tbl tr:last-child td{border-bottom:0}
.lb-note{font-size:14px!important;line-height:1.6!important;color:var(--lb-i3);margin:6px 2px 18px!important}

.lb-faq details{background:#fff;border:1px solid var(--lb-ln);border-radius:var(--r,14px);margin:0 0 10px;padding:0 20px}
.lb-faq summary{cursor:pointer;font-weight:700;font-size:16.5px;line-height:1.5;padding:15px 0;min-height:44px;list-style-position:outside}
.lb-faq details p{margin:0 0 16px;color:var(--lb-i2)}

.lb-src{font-size:15px;line-height:1.7;color:var(--lb-i3);background:#fff;border:1px solid var(--lb-ln);border-radius:var(--r,14px);padding:14px 18px;margin:34px 0 18px}
.lb-src a{color:var(--lb-b)}

.lb-cta{background:#fff;border:1px solid var(--lb-ln);border-radius:var(--r,14px);box-shadow:0 10px 30px rgba(20,38,90,.08);padding:22px 24px;margin:0 0 26px}
.lb-cta h2{font-family:var(--serif);font-size:22px;margin:0 0 8px}
.lb-cta p{font-size:16px;line-height:1.7;margin:0 0 14px;color:var(--lb-i2)}
.lb-btns{display:flex;flex-wrap:wrap;gap:10px}
.lb-btn{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:15.5px;border-radius:6px;padding:10px 18px;background:var(--lb-bs);color:var(--lb-n);text-decoration:none;border:1px solid #D5DFF5}
.lb-btn--y{background:var(--act,#2F6FDB);color:#fff;border-color:var(--act,#2F6FDB)}
.lb-btn:hover{filter:brightness(.95)}

.lb-rel h2{font-family:var(--serif);font-size:22px;margin:0 0 12px}
.lb-rel__l{background:#fff;border:1px solid var(--lb-ln);border-radius:var(--r,14px);padding:4px 22px}
.lb-rel__l a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--lb-ln);text-decoration:none;color:inherit}
.lb-rel__l a:last-child{border-bottom:0}
.lb-rel__l a:hover .t{color:var(--lb-b)}
.lb-rel__l .t{font-weight:700}
.lb-rel__l .n{font-size:14px;color:var(--lb-i3);white-space:nowrap}
.lb-disc{font-size:13.5px;line-height:1.6;color:var(--lb-i3);margin-top:24px}

.lb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px}
.lb-chips a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:6px;background:#fff;border:1px solid var(--lb-ln);color:var(--lb-n);font-weight:700;font-size:15px;text-decoration:none}
.lb-chips a span{color:var(--lb-g);font-size:14px}
.lb-chips a:hover{border-color:var(--lb-b)}
.lb-group{margin-top:34px;scroll-margin-top:100px}
.lb-group>h2{font-family:var(--serif);font-size:clamp(21px,2.8vw,26px);margin:0}
.lb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}
.lb-card{display:block;background:#fff;border:1px solid var(--lb-ln);border-radius:var(--r,14px);padding:20px 22px;text-decoration:none;color:inherit}
.lb-card:hover{border-color:var(--lb-b)}
.lb-card h3{font-family:var(--serif);font-size:19px;line-height:1.42;margin:6px 0 8px;color:var(--ink)}
.lb-card p{font-size:15px;line-height:1.65;color:var(--lb-i2);margin:0 0 10px}
.lb-card__d{font-size:13.5px;color:var(--lb-i3)}

@media (max-width:620px){
  .lb{padding-top:18px}
  .lb-body{font-size:16.5px}
  .lb-toc ol{columns:1}
  .lb-ans,.lb-cta{padding:18px}
  .lb-tbl table{font-size:14.5px}
  .lb-tbl th,.lb-tbl td{padding:9px 10px}
  .lb-tbl thead th{white-space:normal}
  .lb-grid{grid-template-columns:1fr}
  .lb-rel__l a{flex-direction:column;gap:2px}
  .lb-btn{flex:1 1 100%;justify-content:center}
}
