본문으로 이동

미디어위키:Common.css: 두 판 사이의 차이

K Design Media Wiki
편집 요약 없음
편집 요약 없음
 
(사용자 3명의 중간 판 11개는 보이지 않습니다)
1번째 줄: 1번째 줄:
/* ---- Portal cards ---- */
/****************************************************
.kdmw-wrap { max-width: 1280px; margin: 0 auto; padding: 12px 16px; }
* KDMW — Site-wide Common.css (safe, content-scoped)
.kdmw-h2 { font-size: 1.6rem; font-weight: 800; margin: 18px 0 8px; }
* - 가급적 본문(.mw-parser-output) 범위로만 스타일 적용
.kdmw-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
* - 스킨(툴바/검색창/사이드바) UI는 건드리지 않음
@media (max-width: 1100px){ .kdmw-grid{ grid-template-columns: repeat(3,1fr);} }
****************************************************/
@media (max-width: 800px){ .kdmw-grid{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 520px){ .kdmw-grid{ grid-template-columns: 1fr;} }
.kdmw-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 3px 10px rgba(0,0,0,.08); transition:.2s; }
.kdmw-card:hover{ transform: translateY(-3px); }
.kdmw-thumb { width:100%; height:160px; object-fit:cover; display:block; }
.kdmw-body { padding:10px 12px; }
.kdmw-title { font-weight:700; font-size:1rem; line-height:1.25; margin-bottom:6px; }
.kdmw-meta { color:#666; font-size:.85rem; }


/* ---- 3열 가로 리스트 (뉴스·Q&A) ---- */
/* -------- CSS 변수(전체 공통 토큰) -------- */
.kdmw-3col { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
:root{
.kdmw-list-item{ background:#fff; border-radius:10px; padding:10px 12px; box-shadow:0 2px 8px rgba(0,0,0,.06); }
  --kdmw-accent: #0ea5e9;      /* 포인트 */
.kdmw-list-item a{ font-weight:700; }
  --kdmw-muted: #e5e7eb;       /* 연한 경계 */
  --kdmw-text:   #111827;       /* 본문 텍스트 */
  --kdmw-link:   #111827;       /* 링크 */
  --kdmw-link-visited:#6f42c1; /* 방문 링크 */
  --kdmw-bg-soft:#fdfdfd;       /* 카드 배경 */
  --kdmw-radius: 12px;         /* 둥근 모서리 */
  --kdmw-shadow: 0 1px 2px rgba(0,0,0,.05), 0 6px 20px rgba(0,0,0,.06);
}
 
/* -------- 본문 기본 -------- */
.mw-parser-output{
  line-height: 1.65;
}


/* 링크 */
.mw-parser-output a{
 
  text-decoration: none;
}
.mw-parser-output a:hover,
.mw-parser-output a:focus{ text-decoration: underline; }
/* 제목 */
.mw-parser-output h1{ margin: 1.2rem 0 .8rem; }
.mw-parser-output h2{
  margin: 1.8rem 0 .6rem;
  padding-bottom: .25rem;
 
}
.mw-parser-output h3{ margin: 1.2rem 0 .4rem; }


/* 연구 50년 3단 섹션 스타일 */
/* -------- 포털/인덱스용 목록 카드화 --------
.research-50-container {
  h2 바로 아래 1단 목록을 '카드'처럼 보이게 */
   display: flex;
.mw-parser-output > h2 + ul{
  justify-content: space-between;
   list-style: none;
  gap: 20px;
   margin: .6rem 0 1.2rem 0;
   margin: 40px auto;
   padding: 0;
   max-width: 1200px;
}
}
.mw-parser-output > h2 + ul > li{


.research-50-column {
  border-radius: var(--kdmw-radius);
   flex: 1;
    
   background-color: #f8f9fa;
   padding: .8rem 1rem;
   border-radius: 12px;
   margin: .6rem 0;
  padding: 20px;
}
   box-shadow: 0 2px 6px rgba(0,0,0,0.1);
/* 2단 목록은 왼쪽 라인으로 계층감 */
   transition: transform 0.3s;
.mw-parser-output > h2 + ul > li > ul{
   margin-top: .5rem;
   padding-left: .9rem;
}
}
/* 3단은 점선으로 더 가볍게 */
.mw-parser-output ul ul ul{


.research-50-column:hover {
  transform: translateY(-5px);
}
}


.research-50-title {
/* 링크 강조(목록 안 첫 링크 가독성) */
   font-size: 1.4em;
.mw-parser-output li > a{ font-weight: 600; }
   font-weight: bold;
 
   color: #004080;
/* -------- 표(위키테이블) 품질 향상 -------- */
   margin-bottom: 10px;
.mw-parser-output .wikitable{
   border-bottom: 2px solid #004080;
  border-collapse: collapse;
   padding-bottom: 5px;
 
}
.mw-parser-output .wikitable th,
.mw-parser-output .wikitable td{
    padding: .5rem .6rem;
}
.mw-parser-output .wikitable th{
 
   font-weight: 700;
}
.mw-parser-output .wikitable tr:nth-child(even){
 
}
.mw-parser-output .wikitable caption{
  caption-side: top;
  padding: .4rem 0 .6rem;
   font-weight: 700;
}
 
/* -------- 정보박스/네브박스(있다면) -------- */
.mw-parser-output .infobox,
.mw-parser-output table.infobox{
  border-radius: var(--kdmw-radius);
  overflow: hidden;
}
.mw-parser-output .navbox,
.mw-parser-output table.navbox{
}
 
/* -------- 목차(TOC) -------- */
.mw-parser-output .toc{
  border-radius: var(--kdmw-radius);
  background: #fff;
   box-shadow: var(--kdmw-shadow);
}
 
/* -------- 유틸리티 클래스(문서에서 선택 적용) -------- */
/* 다열 목록 */
.mw-parser-output .cols-2{ columns: 2; column-gap: 2rem; }
.mw-parser-output .cols-3{ columns: 3; column-gap: 2rem; }
.mw-parser-output .cols-2 > *,.mw-parser-output .cols-3 > *{ break-inside: avoid; }
 
/* 카드/박스 */
.mw-parser-output .card{
  border: 1px solid #ededed;
   border-radius: var(--kdmw-radius);
  padding: 1rem;
    
}
/* 콜아웃 */
.mw-parser-output .note{ border-left: 4px solid #10b981; background:#ecfdf5; padding:.75rem 1rem; }
.mw-parser-output .warn{ border-left: 4px solid #f59e0b; background:#fffbeb; padding:.75rem 1rem; }
 
/* 키보드 키 표시 */
.mw-parser-output kbd{
  background: #111827;
  color: #fff;
   padding: .12rem .4rem;
  border-radius: 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .85em;
}
 
/* -------- 접근성 & 반응형 -------- */
@media (max-width: 720px){
  .mw-parser-output .cols-3{ columns: 2; }
  .mw-parser-output .cols-2{ columns: 1; }
  .mw-parser-output > h2 + ul > li{ padding: .75rem .85rem; }
}
 
/* -------- (옵션) 특정 페이지만 포털 강조하려면
  body.page-페이지_제목 스코프로 추가 규칙 작성 -------- */
/* 예시:
body.page-국민대학교_조형대학_조형전_50주년_기획 .mw-parser-output > h2 + ul > li{
  border-color: #cdeafe;
  background: #f0f9ff;
}
}
*/


.research-50-image {
/* 전체 배경 & 경계 */
   width: 100%;
body.skin-vector-2022 .vector-sidebar{
  height: auto;
   background: #f8fafc;
   border-radius: 8px;
   border-right: 1px solid #e5e7eb;
  margin-bottom: 10px;
}
}


.research-50-text {
/* 포틀릿(섹션) 제목 */
   font-size: 0.95em;
body.skin-vector-2022 .vector-sidebar .vector-menu .vector-menu-heading{
   color: #333;
  font-weight: 700;
   line-height: 1.5em;
   font-size: .95rem;
   color: #111827;
   padding: .6rem .75rem .3rem;
}
}


/* 링크 기본/호버/활성(현재 페이지) */
body.skin-vector-2022 .vector-sidebar .vector-menu-content-list > li > a{
  display: block;
  padding: .35rem .6rem;
  border-radius: 8px;
  text-decoration: none;
}
body.skin-vector-2022 .vector-sidebar .vector-menu-content-list > li > a:hover,
body.skin-vector-2022 .vector-sidebar .vector-menu-content-list > li > a:focus{
  background: #eef6ff;
}
body.skin-vector-2022 .vector-sidebar .vector-menu-content-list > li > a.mw-selflink{
  background: #dbeafe;
  font-weight: 700;
}
/* 카드 그리드 컨테이너 */
.mw-parser-output .cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin: .8rem 0 1.2rem;
}
/* 카드 내부 타이틀 */
.mw-parser-output .card .card-title{
  font-weight: 700;
  margin-bottom: .4rem;
}
/* 카드 내부 목록은 기본 스타일 유지(겹침 방지) */
.mw-parser-output .card ul{
  margin: .4rem 0 0;
  padding-left: 1rem;
  list-style: disc;
  border-left: 0;
}
.mw-parser-output .card ul li{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: .25rem 0;
}


/* 카드 상단 커버 이미지 */
.mw-parser-output .card{ position: relative; }
.mw-parser-output .card-cover{
  /* 카드 바깥 여백 없이 '풀-블리드'로 보이게 */
  margin: -1rem -1rem .75rem;        /* .card에 padding:1rem 기준 */
  border-top-left-radius: var(--kdmw-radius);
  border-top-right-radius: var(--kdmw-radius);


/* 컨테이너 기본 */
  overflow: hidden;
.km-slideshow {
  background: #e5e7eb;                /* 로딩/플레이스홀더 배경 */
  aspect-ratio: 20/9;                /* 비율 유지 (원하면 4/3, 3/1 등) */
   position: relative;
   position: relative;
}
/* 미디어위키가 만들어주는 <a class="image"><img></a> 대응 */
.mw-parser-output .card-cover .image,
.mw-parser-output .card-cover img{
  display: block;
   width: 100%;
   width: 100%;
   max-width: 1200px;   /* 필요시 조정 */
   height: 100%;
   aspect-ratio: 16 / 9; /* 원하는 비율로 */
}
   overflow: hidden;
.mw-parser-output .card-cover img{
  margin: 0 auto 1rem;
   object-fit: cover;                   /* 중앙 크롭 */
  background: #0000000d;
   height: 100%;
}
}


/* 각 슬라이드 래퍼(스크립트에서 자동 부여) */
.mw-parser-output .card-cover figure[typeof~='mw:File'].mw-halign-center,figure[typeof~='mw:File/Frameless'].mw-halign-center {
.km-slide-item {
   position: absolute;
   position: absolute;
   inset: 0;
   width: 100%;
   display: grid;
   height: 100%;  
  place-items: center;
}
  opacity: 0;
 
   transition: opacity 900ms ease;
body.skin--responsive .mw-parser-output .card-cover figure img.mw-file-element {
   height: 100%;
}
}


/* 활성화된 슬라이드(페이드 모드) */
.mw-parser-output .card-text a {
.km-slideshow[data-transition="fade"] .km-slide-item.active {
   color: #666;
   opacity: 1;
}
}


/* 이미지가 컨테이너에 맞게 보이도록 */
.mw-parser-output .card-cover-full{
.km-slide-item img {
   border-top-left-radius: var(--kdmw-radius);
   max-width: 100%;
  border-top-right-radius: var(--kdmw-radius);
   max-height: 100%;
  border-bottom-right-radius: var(--kdmw-radius);
   object-fit: contain;
   border-bottom-left-radius: var(--kdmw-radius);
  overflow: hidden;
  background: #e5e7eb;                /* 로딩/플레이스홀더 배경 */
  position: absolute; top: 0; left: 0;
  width: 100%;
   height: 100%;
}
}


/* 네비게이션 버튼 */
.mw-parser-output .card-cover-full figure {
.km-nav {
   position: absolute; width: 100%; height: 100%;
   position: absolute;
}
  top: 50%;
 
  transform: translateY(-50%);
.mw-parser-output .card-cover-full figure a {
  z-index: 5;
   position: absolute; width: 100%; height: 100%;
  background: #00000066;
  color: #fff;
  border: 0;
  padding: .4rem .6rem;
   cursor: pointer;
  font-size: 14px;
  border-radius: .5rem;
}
}
.km-nav:hover { background: #00000099; }
.km-prev { left: .5rem; }
.km-next { right: .5rem; }


/* 도트 인디케이터 */
body.skin--responsive .mw-parser-output .card-cover-full figure img.mw-file-element {
.km-dots {
   position: absolute; width: 100%; height: 100%; object-fit: cover;
   position: absolute;
  left: 50%;
  bottom: .5rem;
  transform: translateX(-50%);
  display: flex;
  gap: .4rem;
  z-index: 6;
}
}
.km-dot {
 
   width: .6rem; height: .6rem; border-radius: 50%;
.mw-parser-output .card-text-full {
   background: #ffffff88; cursor: pointer;
   border-top-left-radius: var(--kdmw-radius);
   border: 1px solid #ffffffaa;
  border-top-right-radius: var(--kdmw-radius);
  border-bottom-right-radius: var(--kdmw-radius);
  border-bottom-left-radius: var(--kdmw-radius);
  overflow: hidden;
  position: absolute; top: 0; left: 0;
   width: 100%;
  height: 100%;
   background-color: rgba(0, 0, 0, 0.3);
}
}
.km-dot.active { background: #ffffff; }


/* 슬라이드 모드 전환용 레이아웃 */
.mw-parser-output .card-text-full a {
.km-slideshow[data-transition="slide"] .km-track {
   position: absolute; top: 0; left: 0;
   position: absolute;
   width: 100%;
  inset: 0;
   display: flex;
   height: 100%;
   height: 100%;
   transition: transform 700ms ease;
   display: flex; flex-direction: column; justify-content: flex-end; color: #fff;
  box-sizing: border-box; padding: .6rem;
}
 
.mw-parser-output .card-title-full {
  font-size: 1.4em;
}
 
.mw-parser-output .card-full-img {
  min-height: 10rem;
}
 
.mw-parser-output .card-thumb {
  display: flex; gap: 1rem;
}
 
.mw-parser-output .card-thumb .thumb {
  border-top-left-radius: var(--kdmw-radius);
  border-top-right-radius: var(--kdmw-radius);
  border-bottom-right-radius: var(--kdmw-radius);
  border-bottom-left-radius: var(--kdmw-radius);
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
  width: 4.5rem;
}
 
.mw-parser-output .card-thumb .thumb {
  flex-shrink: 0;
}
.mw-parser-output .card-thumb .thumb figure {
  position: absolute; width: 100%; height: 100%;
}
 
.mw-parser-output .card-thumb .thumb figure a {
  position: absolute; width: 100%; height: 100%;
}
 
body.skin--responsive .mw-parser-output .thumb figure img.mw-file-element {
    position: absolute; width: 100%; height: 100%; object-fit: cover;
}
 
.mw-parser-output .card-thumb .txt {
  flex: 1; min-width: 0;
}
.mw-parser-output .card-thumb .txt a {
 
  font-size: var(--font-size-medium);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
 
.mw-parser-output .card-thumb .txt .title {
  font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
 
.mw-parser-output .card-thumb .txt .cons{
  color: #666; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
 
.mw-parser-output .card-img{
  margin: -1rem -1rem .75rem;
  border-top-left-radius: var(--kdmw-radius);
  border-top-right-radius: var(--kdmw-radius);
  overflow: hidden;
  background: #e5e7eb;
  position: relative;
  height: 10rem;
}
 
.mw-parser-output .card-img figure {
  position: absolute; width: 100%; height: 100%;
}
 
body.skin--responsive .mw-parser-output .card-img figure img.mw-file-element {
  position: absolute; width: 100%; height: 100%; object-fit: cover;
}
 
.mw-parser-output .card-txt > a { font-weight: bold; }
 
.tl-timeline .tl-slide-title {
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 700;
  color: #333;
}
}
.km-slideshow[data-transition="slide"] .km-slide-item {
.tl-timeline .tl-text-content {
   position: relative; /* 트랙 플렉스 아이템으로 동작 */
   font-family: 'Noto Sans KR', sans-serif;
   flex: 0 0 100%;
   line-height: 1.6;
  opacity: 1;         /* 슬라이드 모드는 불투명 */
}
}

2025년 11월 17일 (월) 14:20 기준 최신판

/****************************************************
 * KDMW — Site-wide Common.css (safe, content-scoped)
 * - 가급적 본문(.mw-parser-output) 범위로만 스타일 적용
 * - 스킨(툴바/검색창/사이드바) UI는 건드리지 않음
 ****************************************************/

/* -------- CSS 변수(전체 공통 토큰) -------- */
:root{
  --kdmw-accent: #0ea5e9;       /* 포인트 */
  --kdmw-muted:  #e5e7eb;       /* 연한 경계 */
  --kdmw-text:   #111827;       /* 본문 텍스트 */
  --kdmw-link:   #111827;       /* 링크 */
  --kdmw-link-visited:#6f42c1;  /* 방문 링크 */
  --kdmw-bg-soft:#fdfdfd;       /* 카드 배경 */
  --kdmw-radius: 12px;          /* 둥근 모서리 */
  --kdmw-shadow: 0 1px 2px rgba(0,0,0,.05), 0 6px 20px rgba(0,0,0,.06);
}

/* -------- 본문 기본 -------- */
.mw-parser-output{
  line-height: 1.65;
}

/* 링크 */
.mw-parser-output a{
  
  text-decoration: none;
}

.mw-parser-output a:hover,
.mw-parser-output a:focus{ text-decoration: underline; }

/* 제목 */
.mw-parser-output h1{ margin: 1.2rem 0 .8rem; }
.mw-parser-output h2{
  margin: 1.8rem 0 .6rem;
  padding-bottom: .25rem;
  
}
.mw-parser-output h3{ margin: 1.2rem 0 .4rem; }

/* -------- 포털/인덱스용 목록 카드화 --------
   h2 바로 아래 1단 목록을 '카드'처럼 보이게 */
.mw-parser-output > h2 + ul{
  list-style: none;
  margin: .6rem 0 1.2rem 0;
  padding: 0;
}
.mw-parser-output > h2 + ul > li{

  border-radius: var(--kdmw-radius);
  
  padding: .8rem 1rem;
  margin: .6rem 0;
}
/* 2단 목록은 왼쪽 라인으로 계층감 */
.mw-parser-output > h2 + ul > li > ul{
  margin-top: .5rem;
  padding-left: .9rem;
}
/* 3단은 점선으로 더 가볍게 */
.mw-parser-output ul ul ul{

}

/* 링크 강조(목록 안 첫 링크 가독성) */
.mw-parser-output li > a{ font-weight: 600; }

/* -------- 표(위키테이블) 품질 향상 -------- */
.mw-parser-output .wikitable{
  border-collapse: collapse;
  
}
.mw-parser-output .wikitable th,
.mw-parser-output .wikitable td{
    padding: .5rem .6rem;
}
.mw-parser-output .wikitable th{
  
  font-weight: 700;
}
.mw-parser-output .wikitable tr:nth-child(even){
  
}
.mw-parser-output .wikitable caption{
  caption-side: top;
  padding: .4rem 0 .6rem;
  font-weight: 700;
}

/* -------- 정보박스/네브박스(있다면) -------- */
.mw-parser-output .infobox,
.mw-parser-output table.infobox{
 
  border-radius: var(--kdmw-radius);
  overflow: hidden;
}
.mw-parser-output .navbox,
.mw-parser-output table.navbox{
 
}

/* -------- 목차(TOC) -------- */
.mw-parser-output .toc{
 
  border-radius: var(--kdmw-radius);
  background: #fff;
  box-shadow: var(--kdmw-shadow);
}

/* -------- 유틸리티 클래스(문서에서 선택 적용) -------- */
/* 다열 목록 */
.mw-parser-output .cols-2{ columns: 2; column-gap: 2rem; }
.mw-parser-output .cols-3{ columns: 3; column-gap: 2rem; }
.mw-parser-output .cols-2 > *,.mw-parser-output .cols-3 > *{ break-inside: avoid; }

/* 카드/박스 */
.mw-parser-output .card{
  border: 1px solid #ededed;
  border-radius: var(--kdmw-radius);
  padding: 1rem;
  
}
/* 콜아웃 */
.mw-parser-output .note{ border-left: 4px solid #10b981; background:#ecfdf5; padding:.75rem 1rem; }
.mw-parser-output .warn{ border-left: 4px solid #f59e0b; background:#fffbeb; padding:.75rem 1rem; }

/* 키보드 키 표시 */
.mw-parser-output kbd{
  background: #111827;
  color: #fff;
  padding: .12rem .4rem;
  border-radius: 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .85em;
}

/* -------- 접근성 & 반응형 -------- */
@media (max-width: 720px){
  .mw-parser-output .cols-3{ columns: 2; }
  .mw-parser-output .cols-2{ columns: 1; }
  .mw-parser-output > h2 + ul > li{ padding: .75rem .85rem; }
}

/* -------- (옵션) 특정 페이지만 포털 강조하려면
   body.page-페이지_제목 스코프로 추가 규칙 작성 -------- */
/* 예시:
body.page-국민대학교_조형대학_조형전_50주년_기획 .mw-parser-output > h2 + ul > li{
  border-color: #cdeafe;
  background: #f0f9ff;
}
*/

/* 전체 배경 & 경계 */
body.skin-vector-2022 .vector-sidebar{
  background: #f8fafc;
  border-right: 1px solid #e5e7eb;
}

/* 포틀릿(섹션) 제목 */
body.skin-vector-2022 .vector-sidebar .vector-menu .vector-menu-heading{
  font-weight: 700;
  font-size: .95rem;
  color: #111827;
  padding: .6rem .75rem .3rem;
}

/* 링크 기본/호버/활성(현재 페이지) */
body.skin-vector-2022 .vector-sidebar .vector-menu-content-list > li > a{
  display: block;
  padding: .35rem .6rem;
  border-radius: 8px;
  text-decoration: none;
}
body.skin-vector-2022 .vector-sidebar .vector-menu-content-list > li > a:hover,
body.skin-vector-2022 .vector-sidebar .vector-menu-content-list > li > a:focus{
  background: #eef6ff;
}
body.skin-vector-2022 .vector-sidebar .vector-menu-content-list > li > a.mw-selflink{
  background: #dbeafe;
  font-weight: 700;
}
/* 카드 그리드 컨테이너 */
.mw-parser-output .cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin: .8rem 0 1.2rem;
}
/* 카드 내부 타이틀 */
.mw-parser-output .card .card-title{
  font-weight: 700;
  margin-bottom: .4rem;
}
/* 카드 내부 목록은 기본 스타일 유지(겹침 방지) */
.mw-parser-output .card ul{ 
  margin: .4rem 0 0; 
  padding-left: 1rem; 
  list-style: disc;
  border-left: 0;
}
.mw-parser-output .card ul li{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: .25rem 0;
}

/* 카드 상단 커버 이미지 */
.mw-parser-output .card{ position: relative; }
.mw-parser-output .card-cover{
  /* 카드 바깥 여백 없이 '풀-블리드'로 보이게 */
  margin: -1rem -1rem .75rem;         /* .card에 padding:1rem 기준 */
  border-top-left-radius: var(--kdmw-radius);
  border-top-right-radius: var(--kdmw-radius);

  overflow: hidden;
  background: #e5e7eb;                /* 로딩/플레이스홀더 배경 */
  aspect-ratio: 20/9;                 /* 비율 유지 (원하면 4/3, 3/1 등) */
  position: relative;
}
/* 미디어위키가 만들어주는 <a class="image"><img></a> 대응 */
.mw-parser-output .card-cover .image,
.mw-parser-output .card-cover img{
  display: block;
  width: 100%;
  height: 100%;
}
.mw-parser-output .card-cover img{
  object-fit: cover;                   /* 중앙 크롭 */
  height: 100%;
}

.mw-parser-output .card-cover figure[typeof~='mw:File'].mw-halign-center,figure[typeof~='mw:File/Frameless'].mw-halign-center {
  position: absolute;
  width: 100%;
  height: 100%; 
}

body.skin--responsive .mw-parser-output .card-cover figure img.mw-file-element {
  height: 100%;
}

.mw-parser-output .card-text a {
  color: #666;
}

.mw-parser-output .card-cover-full{
  border-top-left-radius: var(--kdmw-radius);
  border-top-right-radius: var(--kdmw-radius);
  border-bottom-right-radius: var(--kdmw-radius);
  border-bottom-left-radius: var(--kdmw-radius);
  overflow: hidden;
  background: #e5e7eb;                /* 로딩/플레이스홀더 배경 */
  position: absolute; top: 0; left: 0;
  width: 100%;
  height: 100%;
}

.mw-parser-output .card-cover-full figure {
  position: absolute; width: 100%; height: 100%;
}

.mw-parser-output .card-cover-full figure a {
  position: absolute; width: 100%; height: 100%;
}

body.skin--responsive .mw-parser-output .card-cover-full figure img.mw-file-element {
  position: absolute; width: 100%; height: 100%; object-fit: cover;
}

.mw-parser-output .card-text-full {
  border-top-left-radius: var(--kdmw-radius);
  border-top-right-radius: var(--kdmw-radius);
  border-bottom-right-radius: var(--kdmw-radius);
  border-bottom-left-radius: var(--kdmw-radius);
  overflow: hidden;
  position: absolute; top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.mw-parser-output .card-text-full a {
  position: absolute; top: 0; left: 0;
  width: 100%;
  height: 100%;
  display: flex; flex-direction: column; justify-content: flex-end; color: #fff;
  box-sizing: border-box; padding: .6rem;
}

.mw-parser-output .card-title-full {
  font-size: 1.4em;
}

.mw-parser-output .card-full-img {
  min-height: 10rem;
}

.mw-parser-output .card-thumb {
  display: flex; gap: 1rem;
}

.mw-parser-output .card-thumb .thumb {
  border-top-left-radius: var(--kdmw-radius);
  border-top-right-radius: var(--kdmw-radius);
  border-bottom-right-radius: var(--kdmw-radius);
  border-bottom-left-radius: var(--kdmw-radius);
  overflow: hidden;
  aspect-ratio: 1/1; 
  position: relative;
  width: 4.5rem;
}

.mw-parser-output .card-thumb .thumb {
  flex-shrink: 0;
}
.mw-parser-output .card-thumb .thumb figure {
  position: absolute; width: 100%; height: 100%;
}

.mw-parser-output .card-thumb .thumb figure a {
  position: absolute; width: 100%; height: 100%;
}

body.skin--responsive .mw-parser-output .thumb figure img.mw-file-element {
    position: absolute; width: 100%; height: 100%; object-fit: cover;
}

.mw-parser-output .card-thumb .txt {
  flex: 1; min-width: 0;
}
.mw-parser-output .card-thumb .txt a {
  
  font-size: var(--font-size-medium);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.mw-parser-output .card-thumb .txt .title {
  font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.mw-parser-output .card-thumb .txt .cons{
  color: #666; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.mw-parser-output .card-img{
  margin: -1rem -1rem .75rem;
  border-top-left-radius: var(--kdmw-radius);
  border-top-right-radius: var(--kdmw-radius);
  overflow: hidden;
  background: #e5e7eb;
  position: relative;
  height: 10rem;
}

.mw-parser-output .card-img figure {
  position: absolute; width: 100%; height: 100%;
}

body.skin--responsive .mw-parser-output .card-img figure img.mw-file-element {
  position: absolute; width: 100%; height: 100%; object-fit: cover;
}

.mw-parser-output .card-txt > a { font-weight: bold; }

.tl-timeline .tl-slide-title {
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 700;
  color: #333;
}
.tl-timeline .tl-text-content {
  font-family: 'Noto Sans KR', sans-serif;
  line-height: 1.6;
}