/* =====================================================
왼쪽 IC 정보 패널
===================================================== */

.ic-info-panel {
	position: absolute;
	left: -430px;
	top: 40px;

	width: 400px;
	height: calc(100vh - 60px);
	max-height: 800px;
	min-height: 500px;

	box-sizing: border-box;

	background: #ffffff;
	border: 1px solid #c8c8c8;
	border-radius: 8px;

	box-shadow:
		0 3px 10px rgba(0, 0, 0, 0.14);

	color: #222222;
	font-size: 13px;
	line-height: 1.55;

	overflow: hidden;

	display: flex;
	flex-direction: column;
}


/* =====================================================
상단 제목 영역
===================================================== */

.ic-info-header {
	flex: 0 0 auto;

	display: flex;
	align-items: center;
	justify-content: space-between;

	min-height: 44px;

	box-sizing: border-box;
	padding: 10px 12px;

	background: #ffffff;
	border-bottom: 1px solid #dddddd;

	font-size: 15px;
	font-weight: bold;
}


/* 선택 중인 IC 표시 */
.ic-info-badge {
	display: inline-block;

	max-width: 90px;
	padding: 3px 7px;

	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;

	background: #eeeeee;
	border-radius: 12px;

	color: #555555;
	font-size: 11px;
}


/* =====================================================
탭
===================================================== */

.ic-info-tabs {
	flex: 0 0 auto;

	display: grid;
	grid-template-columns: 1fr 1fr;

	padding: 8px 10px 0;
	gap: 5px;

	background: #ffffff;
	border-bottom: 1px solid #dddddd;
}


.ic-info-tab {
	height: 34px;
	padding: 0 6px;

	background: #f3f4f6;

	border: 1px solid #c8c8c8;
	border-bottom: 0;
	border-radius: 5px 5px 0 0;

	color: #555555;
	font-size: 12px;
	font-weight: bold;

	cursor: pointer;
}


.ic-info-tab:hover {
	background: #e9eef9;
}


.ic-info-tab.active {
	background: #ffffff;
	color: #1d4ed8;

	border-color: #8aa9e8;

	box-shadow:
		inset 0 3px 0 #2563eb;
}


/* =====================================================
내부 스크롤 영역
===================================================== */

.ic-info-scroll {
	flex: 1 1 auto;
	min-height: 0;

	box-sizing: border-box;
	padding: 0 10px 14px;

	/*
		항상 세로 스크롤바 영역을 확보합니다.
		내용 길이가 달라져도 내부 폭이 바뀌지 않습니다.
	*/
	overflow-y: scroll;
	overflow-x: hidden;

	scrollbar-gutter: stable;
}


/* Chrome, Edge 스크롤바 */
.ic-info-scroll::-webkit-scrollbar {
	width: 11px;
}


.ic-info-scroll::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-left: 1px solid #e2e2e2;
}


.ic-info-scroll::-webkit-scrollbar-thumb {
	background: #b8b8b8;

	border: 2px solid #f1f1f1;
	border-radius: 8px;
}


.ic-info-scroll::-webkit-scrollbar-thumb:hover {
	background: #999999;
}


/* =====================================================
IC 미선택 안내
===================================================== */

.ic-info-empty {
	padding: 28px 4px;

	color: #777777;
	text-align: center;
	font-size: 12px;
	line-height: 1.7;
}


/* =====================================================
IC 제목 영역
===================================================== */

.ic-info-title-area {
	padding: 10px 2px 8px;

	border-bottom: 1px solid #e5e5e5;
}


#icInfoTitle {
	margin: 0 0 2px;

	color: #1d4ed8;
	font-size: 25px;
	line-height: 1.2;
}


.ic-info-category {
	color: #555555;
	font-size: 12px;
	font-weight: bold;
}


/* =====================================================
탭 본문 표시
===================================================== */

.ic-info-tab-content {
	display: none;
}


.ic-info-tab-content.active {
	display: block;
}


/* =====================================================
공개도면 핀 배치 이미지
===================================================== */

.ic-pinout-diagram {
	display: flex;
	align-items: flex-start;
	justify-content: center;

	box-sizing: border-box;

	width: 100%;
	min-height: 410px;

	margin: 16px 0 10px;
	padding: 10px;

	background: #ffffff;
	border: 1px solid #d8dee8;
	border-radius: 7px;

	overflow: hidden;
}


/*
	각 IC별 공개도면 캡처 이미지
*/
.ic-pinout-image {
	display: block;

	width: 100%;
	max-width: 100%;
	height: auto;

	object-fit: contain;
	object-position: top center;

	background: #ffffff;

	border: 0;

	user-select: none;
	-webkit-user-select: none;

	-webkit-user-drag: none;
	user-drag: none;
}


/*
	이미지 파일이 없거나
	경로가 잘못되었을 때 표시
*/
.ic-pinout-empty {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 380px;

	box-sizing: border-box;
	padding: 20px;

	color: #777777;
	font-size: 12px;
	line-height: 1.7;
	text-align: center;
}


/* =====================================================
배치도 하단 안내
===================================================== */

.ic-pinout-guide {
	margin: 10px 2px 4px;
	padding: 9px;

	background: #fff8df;
	border: 1px solid #eadb9c;
	border-radius: 5px;

	color: #5d501f;
	font-size: 11px;
	line-height: 1.6;
}


.ic-pin-dot {
	display: inline-block;

	width: 7px;
	height: 7px;
	margin-right: 4px;

	background: #444444;
	border-radius: 50%;
}


/* =====================================================
상세 설명
===================================================== */

.ic-info-description {
	margin: 12px 0 14px;
	padding: 9px;

	background: #f7f8fa;

	border-left: 4px solid #2563eb;
	border-radius: 3px;
}


.ic-info-section {
	margin-top: 12px;
	padding-top: 10px;

	border-top: 1px solid #e5e5e5;
}


.ic-info-section strong {
	display: block;

	margin-bottom: 5px;

	color: #111111;
}


.ic-info-section p {
	margin: 4px 0;
}


/* =====================================================
상세 설명의 핀 목록
===================================================== */

.ic-pin-list {
	display: grid;
	grid-template-columns: 1fr;

	gap: 3px;
}


.ic-pin-row {
	display: grid;
	grid-template-columns:
		52px
		minmax(0, 1fr);

	gap: 4px;

	padding: 4px 5px;

	background: #fafafa;
	border-radius: 3px;
}


.ic-pin-number {
	color: #1d4ed8;
	font-weight: bold;
}


/* =====================================================
작은 화면 대응
===================================================== */

@media (max-height: 700px) {
	.ic-info-panel {
		height: calc(100vh - 40px);
		min-height: 400px;
		top: 20px;
	}
}