/* =========================================================
   모바일 폭 보정: 화면 폭을 넘거나 겹치는 요소를 없앤다.
   모든 페이지에서 site.css·페이지별 <style> 다음에 로드
   ========================================================= */

/* 긴 영문 주소·이메일 등은 어디서든 줄바꿈 */
.v-body,.v-h h2,.files a,.info dd,.ik-footer{overflow-wrap:anywhere}
.v-body img,.v-body video,.v-body iframe{max-width:100%;height:auto}
.v-body pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}

/* 메인 3단 게시판: 긴 제목이 칸을 늘리지 않게 */
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.three > *{min-width:0}
.box li a{flex:1 1 auto}
.box time{flex:none}

/* 소식 띠: 칸이 모자라면 항목마다 말줄임 */
.ticker span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}

/* 게시판 검색줄: 좁으면 줄바꿈 */
.search{flex-wrap:wrap;min-width:0}
.search input{min-width:0}
.b-tools{min-width:0}

@media (max-width:900px){
  .three{grid-template-columns:minmax(0,1fr)}
  .search select{flex:1 1 auto}
  .search input{flex:1 1 140px;width:auto}
  .v-h dl div{min-width:0}
}

@media (max-width:640px){
  /* 머리글: 로고가 메뉴 버튼을 밀어내지 않게 줄이고, 넘치면 말줄임 */
  .hd-in{gap:12px}
  .logo{flex:0 1 auto;min-width:0;gap:10px;font-size:16px}
  .logo img{width:38px;height:38px;flex:none}
  .logo span{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .logo small{overflow:hidden;text-overflow:ellipsis;font-size:10px;letter-spacing:.02em}
  .menu-btn{flex:none}

  /* 메인 첫 화면: 오른쪽 바로가기와 문구가 겹치지 않게 */
  .quick{top:auto;bottom:0;left:0;right:0;flex-direction:row}
  .quick a{flex:1;width:auto;height:52px;flex-direction:row;gap:6px;font-size:12px;border-bottom:0;border-right:1px solid rgba(255,255,255,.15)}
  .quick svg{width:18px;height:18px}
  .rail{bottom:68px}
  .arrows{bottom:112px}
  .copy{right:16px;bottom:172px}
  .copy h1{font-size:clamp(26px,8vw,32px);overflow-wrap:anywhere}
  .copy p{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .ticker .w{flex-direction:column;gap:6px;font-size:13.5px}
  .feature h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .feature p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

  /* 연구 간행물: 흐르는 서가는 한 줄 전체, 대표 논문 카드는 그 아래 */
  .pubrow{flex-direction:column;gap:14px}
  .pubrow .marquee{width:100%}
  .pubrow>.paper-rot{flex:none;width:100%;height:260px}
  .mq-track .book{flex-basis:140px;height:187px;margin-right:12px}

  /* 하위 메뉴 휠(js/lnb-wheel.js): 파란 영역 이름은 고정, 항목은 가운데로 맞춰 도는 휠 */
  .lnb .w.wheel{position:relative;padding-left:0;padding-right:0;scroll-snap-type:x mandatory;
    -webkit-mask-image:linear-gradient(90deg,#000 var(--bw),transparent var(--bw),#000 calc(var(--bw) + 44px),#000 calc(100% - 44px),transparent);
    mask-image:linear-gradient(90deg,#000 var(--bw),transparent var(--bw),#000 calc(var(--bw) + 44px),#000 calc(100% - 44px),transparent)}
  .lnb .w.wheel > b{position:sticky;left:0;z-index:2;margin-right:0;padding:0 16px;font-size:15px}
  .lnb .w.wheel > a{scroll-snap-align:center;padding:15px 12px;font-size:15px;white-space:nowrap;transform-origin:center;transition:color .15s}
  .lnb .w.wheel > a.mid{color:var(--ink);font-weight:700}
  .lnb .w.wheel > a[aria-current]{color:var(--blue)}

  /* 하위 페이지 제목 */
  .sv h1{font-size:clamp(26px,7.5vw,32px);overflow-wrap:anywhere}
  .sv{height:240px}

  /* 성과 수치 */
  .stats b{font-size:30px}
  .stats span{font-size:13px}

  /* 게시판 목록: 날짜 칸 줄이고 번호 칸 숨김 */
  .btbl{font-size:14.5px}
  .btbl td,.btbl thead th{padding-inline:8px}
  .btbl .num{display:none}
  .btbl .date{width:86px;font-size:13px}
  .b-chips span{padding:8px 12px}
  /* 지식서비스·연구활동 목록: 글번호와 제목만(구분·태그·연도·첨부·등록일 숨김) */
  .sec-service .btbl .num,.sec-research .btbl .num{display:table-cell;width:56px;padding-inline:4px;font-size:13px}
  .sec-service .btbl .date,.sec-research .btbl .date,
  .sec-service .btbl .tit .cat,.sec-research .btbl .tit .cat,
  .sec-service .btbl .tit .tag,.sec-research .btbl .tit .tag,
  .sec-service .btbl .tit .yr,.sec-research .btbl .tit .yr,
  .sec-service .btbl .clip,.sec-research .btbl .clip{display:none}
  .sec-service .btbl .tit a,.sec-research .btbl .tit a{flex:1 1 auto}
  .vtoggle{flex:none}

  /* 카드형 목록의 첨부 종류 표시(PDF 등) */
  .card .cfiles em{font-size:11px}

  /* 글 보기 */
  .v-body{padding:24px 0 32px;font-size:15.5px}
  /* 본문 표: 칸이 너무 좁아져 글자가 한두 자씩 끊기지 않게 최소 폭을 두고, 표만 좌우로 밀어 본다 */
  .v-body table{-webkit-overflow-scrolling:touch}
  .v-body td,.v-body th{min-width:7.5em}
  .v-body td:first-child,.v-body th:first-child{min-width:6.5em}
  .files{padding:14px 14px}
  .v-nav > a,.v-nav > .none{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* 오시는 길 */
  .info div{grid-template-columns:72px minmax(0,1fr)}

  /* 비전 */
  .gicc div{padding:20px 8px 18px}
  .gicc b{width:52px;height:52px;font-size:24px}
  .gicc strong{font-size:15.5px}
  .strat div{padding:18px 16px}
}

/* 마지막 안전장치: 그래도 넘치는 것은 가로 스크롤 대신 잘라 낸다 */
html,body{overflow-x:clip}
