@charset "utf-8";

/* ===== Apple-like Design Override for Claw's Lab ===== */

:root {
	--primary-color: #0071e3;
	--bg-color: #f5f5f7;
	--card-bg: #ffffff;
	--text-main: #1d1d1f;
	--text-sub: #86868b;
	--border-color: #d2d2d7;
	--card-radius: 18px;
	--card-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	--header-bg: rgba(255, 255, 255, 0.72);
	--header-blur: saturate(180%) blur(20px);
}

/* ── 전체 바디 ── */
body {
	background: var(--bg-color) !important;
	color: var(--text-main);
	font-size: 14px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* ── 헤더: 글래스모피즘 ── */
#header {
	background: var(--header-bg) !important;
	-webkit-backdrop-filter: var(--header-blur);
	backdrop-filter: var(--header-blur);
	border-bottom: 0.5px solid rgba(0, 0, 0, 0.1);
	box-shadow: none !important;
}

#hd_wrapper {
	background: transparent !important;
}

#hd_wrapper:after {
	display: none !important;
}

/* ── 로고 ── */
#logo a span {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--text-main) !important;
	letter-spacing: -0.5px !important;
}

/* ── 햄버거 메뉴 아이콘 ── */
#hd_wrapper .gnb_side_btn a {
	color: var(--text-main) !important;
}

/* ── 사이드 드로어 ── */
#sidedrawer {
	background: var(--header-bg) !important;
	-webkit-backdrop-filter: var(--header-blur);
	backdrop-filter: var(--header-blur);
}

#sidedrawer .gnb_1da,
#sidedrawer .gnb_2da {
	color: var(--text-main) !important;
	font-weight: 500;
}

#sidedrawer .gnb_1da:hover,
#sidedrawer .gnb_2da:hover {
	color: var(--primary-color) !important;
}

#sidedrawer .shortcut a {
	color: var(--text-sub) !important;
}

/* ── 카드 스타일 (게시판 섹션) ── */
.cl_board_section,
.latest_wrap,
#bo_list,
#bo_v,
.board_wrap,
.latest {
	border-radius: var(--card-radius) !important;
	background: var(--card-bg) !important;
	box-shadow: var(--card-shadow) !important;
	border: none !important;
	margin-bottom: 16px !important;
	overflow: hidden;
}

/* ── 게시판 헤더 ── */
.cl_board_section .latest_tit,
.bo_cate_h2,
.latest h2 {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--text-main) !important;
	letter-spacing: -0.3px;
	padding: 20px 20px 12px !important;
	border-bottom: none !important;
	background: transparent !important;
}

.cl_board_section .latest_tit a,
.latest h2 a {
	color: var(--text-sub) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

/* ── 리스트 아이템 ── */
.latest li,
.cl_list_item {
	border-bottom: 0.5px solid var(--border-color) !important;
	padding: 12px 20px !important;
	transition: background 0.15s ease;
}

.latest li:last-child,
.cl_list_item:last-child {
	border-bottom: none !important;
}

.latest li:hover,
.cl_list_item:hover {
	background: rgba(0, 0, 0, 0.02) !important;
}

/* ── 리스트 제목/링크 ── */
.latest li a,
.cl_list_item a {
	color: var(--text-main) !important;
	font-weight: 400 !important;
	font-size: 14px !important;
	text-decoration: none !important;
}

/* ── 날짜/작성자 ── */
.latest li .sv_member,
.latest li .datetime,
.cl_list_item .nick,
.cl_list_item .date {
	color: var(--text-sub) !important;
	font-size: 12px !important;
}

/* ── 갤러리 카드 ── */
.gal_li,
.gal_box {
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gal_li:hover,
.gal_box:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
}

.gal_li img {
	border-radius: 0 !important;
}

/* ── 검색바 ── */
#hd_sch input[type="text"] {
	border-radius: 10px !important;
	border: 1px solid var(--border-color) !important;
	background: #fafafa !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
	outline: none !important;
	transition: border-color 0.2s ease;
}

#hd_sch input[type="text"]:focus {
	border-color: var(--primary-color) !important;
}

/* ── 버튼 ── */
.btn_b01,
.btn_submit,
#sch_submit,
.btn_confirm {
	background: var(--primary-color) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	padding: 10px 20px !important;
	transition: opacity 0.15s ease;
}

.btn_b01:hover,
.btn_submit:hover {
	opacity: 0.85;
}

/* ── 로그인 폼 ── */
.outlogin input[type="text"],
.outlogin input[type="password"] {
	border-radius: 8px !important;
	border: 1px solid var(--border-color) !important;
	padding: 10px 12px !important;
	font-size: 13px !important;
}

.outlogin .btn_submit {
	border-radius: 8px !important;
	padding: 10px 16px !important;
}

/* ── 스크롤 투 탑 ── */
#fct_btn {
	background: var(--primary-color) !important;
	border-radius: 50% !important;
	box-shadow: 0 2px 8px rgba(0, 113, 227, 0.3) !important;
}

/* ── 푸터 ── */
#ft {
	background: transparent !important;
	color: var(--text-sub) !important;
	font-size: 12px !important;
	border-top: 0.5px solid var(--border-color) !important;
	padding: 20px !important;
}

/* ── 공지사항/접속자 ── */
#nt_con,
.cnt_cate {
	border-radius: var(--card-radius) !important;
	background: var(--card-bg) !important;
	box-shadow: var(--card-shadow) !important;
	border: none !important;
}

/* ── 다크 모드 ── */
@media (prefers-color-scheme: dark) {
	:root {
		--bg-color: #000000;
		--card-bg: #1c1c1e;
		--text-main: #f5f5f7;
		--text-sub: #98989d;
		--border-color: #38383a;
		--header-bg: rgba(28, 28, 30, 0.72);
		--card-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
	}

	#hd_sch input[type="text"] {
		background: #2c2c2e !important;
	}

	.outlogin input[type="text"],
	.outlogin input[type="password"] {
		background: #2c2c2e !important;
		color: #f5f5f7 !important;
	}

	.latest li:hover,
	.cl_list_item:hover {
		background: rgba(255, 255, 255, 0.04) !important;
	}
}

/* ── 부드러운 스크롤 ── */
html {
	scroll-behavior: smooth;
}

/* ── 선택 영역 색상 ── */
::selection {
	background: rgba(0, 113, 227, 0.2);
	color: inherit;
}

/* ── 로고 스타일 ── */
.apple-logo {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--text-main) !important;
	letter-spacing: -0.5px !important;
}
.apple-logo .logo-paw {
	color: var(--primary-color) !important;
}

/* ── 헤더 강제 오버라이드 (mobile.css specificity 극복) ── */
body #header,
body #hd_wrapper,
html #header,
html #hd_wrapper {
	background: var(--header-bg) !important;
	-webkit-backdrop-filter: var(--header-blur) !important;
	backdrop-filter: var(--header-blur) !important;
}

body #hd_wrapper .gnb_side_btn a i,
body .hd_sch_bt i {
	color: var(--text-main) !important;
}

body .header_ct .hd_sch_bt {
	color: var(--text-main) !important;
}

/* 로그인 버튼 */
body .header_ct #tnb .btn_submit,
body .header_ct #tnb a {
	color: var(--primary-color) !important;
	background: transparent !important;
	border: 1px solid var(--primary-color) !important;
	border-radius: 8px !important;
	padding: 6px 14px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

/* ================================================================
   RESPONSIVE DESKTOP ENHANCEMENT (768px+, 1024px+, 1440px+)
   Mobile-first: 기존 모바일 스타일 위에 확장
   ================================================================ */

/* ── 태블릿 (768px+) ── */
@media (min-width: 768px) {
	/* 사이드바 고정 표시 + 글래스모피즘 */
	#sidedrawer {
		background: var(--header-bg) !important;
		-webkit-backdrop-filter: var(--header-blur) !important;
		backdrop-filter: var(--header-blur) !important;
		border-right: 0.5px solid rgba(0, 0, 0, 0.1) !important;
		box-shadow: none !important;
	}

	/* 헤더 고정 */
	#header {
		position: sticky !important;
		top: 0;
		z-index: 100;
		border-bottom: 0.5px solid rgba(0, 0, 0, 0.08);
	}

	/* 메인 콘텐츠 여백 */
	#content-wrapper {
		padding: 24px 32px !important;
	}

	/* 게시판 섹션 간격 */
	.cl_board_section {
		margin-bottom: 24px !important;
	}

	/* 리스트 아이템 패딩 확대 */
	.latest li,
	.cl_list_item {
		padding: 14px 24px !important;
	}

	/* 갤러리 3열 유지 + 간격 */
	.gal_ul {
		gap: 16px !important;
	}
}

/* ── 데스크탑 (1024px+) ── */
@media (min-width: 1024px) {
	/* 콘텐츠 최대 너비 제한 (Apple 스타일 중앙 정렬) */
	#container {
		max-width: 980px !important;
		margin: 0 auto !important;
	}

	#content-wrapper {
		padding: 32px 40px !important;
	}

	/* 게시판 헤더 폰트 크기 업 */
	.cl_board_section .latest_tit,
	.bo_cate_h2,
	.latest h2 {
		font-size: 20px !important;
		padding: 24px 24px 16px !important;
	}

	/* 리스트 폰트 크기 */
	.latest li a,
	.cl_list_item a {
		font-size: 15px !important;
	}

	/* 갤러리 4열 */
	.gal_ul {
		display: grid !important;
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 20px !important;
	}

	/* 게시판 뷰 너비 */
	#bo_v_con {
		font-size: 15px !important;
		line-height: 1.8 !important;
	}

	/* 접속자/공지 2열 그리드 */
	.main_bottom_wrap {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
}

/* ── 와이드 데스크탑 (1440px+) ── */
@media (min-width: 1440px) {
	#container {
		max-width: 1120px !important;
	}

	/* 갤러리 이미지 더 크게 */
	.gal_li img {
		height: 240px !important;
		object-fit: cover !important;
	}

	/* 게시판 뷰 넓게 */
	#bo_v_con {
		max-width: 800px !important;
		margin: 0 auto !important;
	}
}

/* ── PC에서 사이드바 메뉴 스타일 개선 ── */
@media (min-width: 768px) {
	#sidedrawer .gnb_1da {
		padding: 10px 20px !important;
		font-size: 14px !important;
		border-radius: 8px !important;
		margin: 2px 8px !important;
		transition: background 0.15s ease;
	}

	#sidedrawer .gnb_1da:hover {
		background: rgba(0, 113, 227, 0.06) !important;
	}

	#sidedrawer .gnb_2da {
		padding: 8px 20px 8px 36px !important;
		font-size: 13px !important;
	}

	#sidedrawer .shortcut {
		border-top: 0.5px solid var(--border-color) !important;
		margin-top: 12px !important;
		padding-top: 12px !important;
	}

	#sidedrawer .shortcut a {
		padding: 8px 20px !important;
		font-size: 13px !important;
		border-radius: 8px !important;
		margin: 2px 8px !important;
		display: block;
		transition: background 0.15s ease;
	}

	#sidedrawer .shortcut a:hover {
		background: rgba(0, 0, 0, 0.03) !important;
	}

	/* 시계 위젯 숨기기 (PC에선 불필요) */
	#clockT {
		display: none !important;
	}

	/* 로그인 폼 PC 스타일 */
	.outlogin {
		padding: 16px !important;
		margin: 8px !important;
		border-radius: 12px !important;
		background: rgba(0, 0, 0, 0.02) !important;
	}
}

/* ── 게시판 리스트 PC 확장 (테이블 스타일) ── */
@media (min-width: 1024px) {
	/* 제목 + 작성자 + 날짜를 한 줄에 flex로 정렬 */
	.latest li,
	.cl_list_item {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
	}

	.latest li a,
	.cl_list_item a {
		flex: 1 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	.latest li .sv_member,
	.cl_list_item .nick {
		min-width: 80px !important;
		text-align: right !important;
		margin-left: 16px !important;
	}

	.latest li .datetime,
	.cl_list_item .date {
		min-width: 50px !important;
		text-align: right !important;
		margin-left: 12px !important;
	}
}

/* ── 부드러운 hover 애니메이션 (PC 전용) ── */
@media (hover: hover) {
	.gal_li {
		transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	}

	.gal_li:hover {
		transform: translateY(-4px) !important;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
	}

	.latest li:hover,
	.cl_list_item:hover {
		background: rgba(0, 113, 227, 0.03) !important;
	}
}

/* 2026-03-01 layout balance hotfix: reduce excessive left gutter */
@media (min-width: 1024px) {
  #content-wrapper {
    padding: 24px 24px !important;
  }
  #container {
    margin: 0 !important;
  }
}

/* 2026-03-01 Apple polish v2: balanced spacing + airy rhythm */
@media (min-width: 1024px) {
  /* 좌측 네비 + 본문 간격을 일정하게 */
  #content-wrapper {
    margin-left: 240px !important;
    padding: 28px 28px 40px !important;
  }

  /* 본문 컬럼은 너무 넓지 않게 (Apple-like reading width) */
  #container {
    max-width: 920px !important;
    margin: 0 !important;
  }

  /* 카드 간 리듬 통일 */
  #bo_list,
  #nt_con,
  .cnt_cate,
  #bo_sch,
  .bo_fx {
    border-radius: 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06) !important;
  }

  /* 게시판 헤더/행 여백 미세 조정 */
  .bo_tit,
  .cl_board_section .latest_tit,
  .latest h2 {
    padding: 22px 24px 14px !important;
    letter-spacing: -0.35px !important;
  }

  #bo_list .tbl_head01 th,
  #bo_list .tbl_head01 td {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }

  /* 우측 공지/접속자도 같은 톤으로 */
  .conri #nt_con,
  .conri .cnt_cate {
    border-radius: 16px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  }
}

/* 큰 화면에서만 살짝 더 여유 */
@media (min-width: 1440px) {
  #content-wrapper {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }
  #container {
    max-width: 980px !important;
  }
}

/* 2026-03-01 Apple reference polish v3 */
:root {
  --apple-ease: cubic-bezier(0.28, 0.11, 0.32, 1);
}

/* 전체 수직 리듬: 큰 섹션 간격 + 깨끗한 흐름 */
#content-wrapper {
  row-gap: 0 !important;
}

/* 카드 간격은 넓고, 내부는 촘촘하게 */
#bo_list,
#nt_con,
.cnt_cate,
.bo_fx,
#bo_sch {
  margin-bottom: 24px !important;
}

/* 제목 톤: Apple처럼 단단하지만 과하지 않게 */
.cl_board_section .latest_tit,
.bo_cate_h2,
.latest h2,
#bo_list .bo_tit {
  font-weight: 700 !important;
  letter-spacing: -0.45px !important;
  line-height: 1.25 !important;
}

/* 본문 타이포 리듬 */
#bo_list .td_subject a,
#bo_list td,
#bo_v_con {
  line-height: 1.7 !important;
}

/* 행 호버: 아주 미세한 반응 */
.latest li,
.cl_list_item,
#bo_list tbody tr {
  transition: background-color 0.22s var(--apple-ease), transform 0.22s var(--apple-ease) !important;
}

.latest li:hover,
.cl_list_item:hover,
#bo_list tbody tr:hover {
  background: rgba(0, 0, 0, 0.015) !important;
}

/* 테이블 헤더 정돈 */
#bo_list .tbl_head01 thead th {
  font-weight: 600 !important;
  letter-spacing: -0.2px !important;
  color: var(--text-sub) !important;
  border-bottom: 0.5px solid var(--border-color) !important;
}

/* 우측 보조영역은 살짝 더 가볍게 */
.conri #nt_con,
.conri .cnt_cate {
  box-shadow: 0 1px 8px rgba(0,0,0,0.05) !important;
}

/* 다크모드에서도 호버 과도하지 않게 */
@media (prefers-color-scheme: dark) {
  .latest li:hover,
  .cl_list_item:hover,
  #bo_list tbody tr:hover {
    background: rgba(255,255,255,0.03) !important;
  }
}

/* 2026-03-01 Apple minimal finish v4 */
@media (min-width: 1024px) {
  /* 헤더 더 슬림하게 */
  #header {
    min-height: 52px !important;
  }
  #logo a span,
  .apple-logo {
    font-size: 20px !important;
    letter-spacing: -0.4px !important;
  }

  /* 카드 곡률 약간 축소 (더 절제된 느낌) */
  #bo_list,
  #nt_con,
  .cnt_cate,
  .bo_fx,
  #bo_sch,
  .cl_board_section,
  .latest {
    border-radius: 16px !important;
  }

  /* 그림자 20% 감소 */
  #bo_list,
  #nt_con,
  .cnt_cate,
  .bo_fx,
  #bo_sch {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.048) !important;
  }

  /* 상단~본문 간격 미세 정돈 */
  #content-wrapper {
    padding-top: 22px !important;
  }
}

/* 2026-03-01 minimal finish v5 */
@media (min-width: 1024px) {
  /* 좌측 메뉴 텍스트 가벼운 톤 */
  #sidedrawer .gnb_1da,
  #sidedrawer .gnb_2da,
  #sidedrawer .shortcut a,
  #aside .side_tnb a,
  #aside .menu a {
    font-weight: 500 !important;
    letter-spacing: -0.15px !important;
  }

  /* 게시판 행간 미세 압축 */
  #bo_list .tbl_head01 th,
  #bo_list .tbl_head01 td {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
    line-height: 1.55 !important;
  }

  #bo_list .td_subject a {
    line-height: 1.55 !important;
  }
}

/* 2026-03-01 right-panel density align v6 */
@media (min-width: 1024px) {
  /* 우측 공지/접속자 카드 밀도 통일 */
  .conri #nt_con,
  .conri .cnt_cate {
    padding: 12px 14px !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 7px rgba(0,0,0,0.045) !important;
    margin-bottom: 16px !important;
  }

  .conri #nt_con h2,
  .conri .cnt_cate h2,
  .conri #nt_con .latest_tit {
    font-size: 15px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.28px !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
  }

  .conri #nt_con li,
  .conri .cnt_cate li,
  .conri #nt_con .notice-item {
    padding: 7px 0 !important;
    line-height: 1.45 !important;
    border-bottom: 0.5px solid rgba(0,0,0,0.06) !important;
  }

  .conri #nt_con li:last-child,
  .conri .cnt_cate li:last-child {
    border-bottom: none !important;
  }

  .conri .cnt_cate td,
  .conri .cnt_cate th {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}

/* 2026-03-01 gallery apple-tone alignment v7 */
@media (min-width: 1024px) {
  /* 갤러리 영역 폭/여백 본문과 정렬 */
  #gall_ul,
  .gall_row,
  .bo_gall,
  #bo_gall,
  .gallery-wrap {
    gap: 16px !important;
  }

  /* 카드: 미니멀 radius + 가벼운 shadow */
  .gall_li,
  .gal_li,
  .gal_box,
  #bo_gall .gall_li {
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    border: 0.5px solid rgba(0,0,0,0.05) !important;
    transition: transform 0.22s cubic-bezier(0.28,0.11,0.32,1), box-shadow 0.22s cubic-bezier(0.28,0.11,0.32,1) !important;
  }

  .gall_li:hover,
  .gal_li:hover,
  .gal_box:hover,
  #bo_gall .gall_li:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08) !important;
  }

  /* 썸네일 비율 통일 */
  .gall_img img,
  .gal_img img,
  .gal_li img,
  #bo_gall .gall_img img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  /* 카드 하단 텍스트 밀도 정리 */
  .gall_text_href,
  .gall_text_href a,
  .gall_subject a,
  .gal_tit a {
    font-size: 13px !important;
    line-height: 1.45 !important;
    letter-spacing: -0.2px !important;
    font-weight: 600 !important;
    color: var(--text-main) !important;
  }

  .gall_name,
  .gall_date,
  .gall_view,
  .gal_name,
  .gal_date {
    font-size: 11px !important;
    color: var(--text-sub) !important;
  }

  /* 검색/페이지네이션도 동일 톤 */
  #bo_gall .bo_fx,
  #bo_gall .btn_bo_user,
  #bo_gall .pg_wrap,
  #bo_gall .bo_sch_wrap {
    border-radius: 14px !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.04) !important;
  }
}

/* 2026-03-01 post-view apple alignment v8 */
@media (min-width: 1024px) {
  /* 본문 뷰 카드 통일 */
  #bo_v {
    border-radius: 16px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.048) !important;
    border: 0.5px solid rgba(0,0,0,0.05) !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
  }

  /* 제목 영역 타이포/여백 정리 */
  #bo_v_title,
  #bo_v .bo_v_tit {
    font-size: 40px !important;
    font-weight: 700 !important;
    letter-spacing: -0.6px !important;
    line-height: 1.2 !important;
    padding: 20px 24px 10px !important;
    border-bottom: none !important;
  }

  /* 메타 정보 라인 */
  #bo_v_info,
  #bo_v .if_date,
  #bo_v .if_name,
  #bo_v .if_hit {
    font-size: 13px !important;
    color: var(--text-sub) !important;
    letter-spacing: -0.15px !important;
  }

  #bo_v_info {
    padding: 0 24px 14px !important;
    border-bottom: 0.5px solid var(--border-color) !important;
  }

  /* 본문 영역 가독성 */
  #bo_v_con {
    padding: 24px !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--text-main) !important;
    min-height: 420px !important;
  }

  /* 링크바/첨부/이전다음/버튼 영역 리듬 */
  #bo_v_link,
  #bo_v_file,
  .bo_v_nb,
  .bo_v_btn {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .bo_v_nb a {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  /* 댓글 카드도 동일 톤 */
  #bo_vc {
    border-radius: 14px !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.04) !important;
    border: 0.5px solid rgba(0,0,0,0.05) !important;
    overflow: hidden !important;
  }

  #bo_vc h2 {
    padding: 16px 20px !important;
    font-size: 16px !important;
    letter-spacing: -0.25px !important;
  }

  /* copy URL 바/툴성 요소는 덜 튀게 */
  .bo_v_sns,
  .bo_v_share,
  #bo_v_url,
  .copy_url,
  [class*="copy" i] {
    opacity: 0.8 !important;
    font-size: 12px !important;
  }
}

/* 2026-03-01 dark mode fine-tune v9 */
@media (prefers-color-scheme: dark) and (min-width: 1024px) {
  :root {
    --bg-color: #000000;
    --card-bg: #161618;
    --text-main: #f5f5f7;
    --text-sub: #a1a1a6;
    --border-color: #2c2c2e;
  }

  body,
  #wrapper,
  #content-wrapper {
    background: #000000 !important;
  }

  #bo_list,
  #bo_v,
  #bo_vc,
  #nt_con,
  .cnt_cate,
  .gal_li,
  .gall_li,
  .latest,
  .cl_board_section {
    background: var(--card-bg) !important;
    border: 0.5px solid var(--border-color) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
  }

  #bo_list .tbl_head01 thead th,
  #bo_v_info,
  .latest li,
  .cl_list_item,
  #nt_con li,
  .cnt_cate li {
    border-color: rgba(255,255,255,0.08) !important;
  }

  #bo_list tbody tr:hover,
  .latest li:hover,
  .cl_list_item:hover,
  .gall_li:hover,
  .gal_li:hover {
    background: rgba(255,255,255,0.035) !important;
  }

  #header,
  #hd_wrapper {
    background: rgba(20,20,22,0.72) !important;
    border-bottom: 0.5px solid rgba(255,255,255,0.08) !important;
  }

  #logo a span,
  .apple-logo,
  #bo_v_title,
  .bo_tit,
  .latest h2,
  .bo_cate_h2 {
    color: var(--text-main) !important;
  }

  .gall_name,
  .gall_date,
  .gall_view,
  #bo_list td,
  #bo_v_info,
  .if_date,
  .if_hit,
  .if_name {
    color: var(--text-sub) !important;
  }
}

/* 2026-03-01 dark mode final micro-tune v10 */
@media (prefers-color-scheme: dark) and (min-width: 1024px) {
  :root {
    --card-bg: #18181b;
    --text-main: #f7f7fa;
    --text-sub: #b2b2b8;
    --border-color: #323236;
  }

  #bo_list,
  #bo_v,
  #bo_vc,
  #nt_con,
  .cnt_cate,
  .gal_li,
  .gall_li,
  .latest,
  .cl_board_section {
    border-color: rgba(255,255,255,0.12) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.30) !important;
  }

  #bo_list .tbl_head01 thead th,
  #bo_v_info,
  .latest li,
  .cl_list_item,
  #nt_con li,
  .cnt_cate li {
    border-color: rgba(255,255,255,0.10) !important;
  }

  #bo_list tbody tr:hover,
  .latest li:hover,
  .cl_list_item:hover,
  .gall_li:hover,
  .gal_li:hover {
    background: rgba(255,255,255,0.045) !important;
  }
}

/* 2026-03-01 wide-screen balance fix v11 */
@media (min-width: 1400px) {
  /* 사이드바 제외 영역을 꽉 쓰고, 본문은 중앙 정렬 */
  #content-wrapper {
    margin-left: 240px !important;
    width: calc(100vw - 240px) !important;
    max-width: none !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
  }

  #wrapper {
    width: 100% !important;
    max-width: none !important;
  }

  /* 메인 컨텐츠 묶음 폭 확장 (우측 공백 완화) */
  #container {
    max-width: 1240px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  /* 홈 좌/우 컬럼 비율 재조정 */
  #container .conle {
    width: calc(100% - 340px) !important;
    margin-right: 20px !important;
  }

  #container .conri {
    width: 320px !important;
  }
}

/* 2026-03-01 width policy v12: readability-first (option 1) */
@media (min-width: 1400px) {
  #container {
    max-width: 1320px !important;
  }
}

@media (min-width: 1800px) {
  #container {
    max-width: 1360px !important;
  }
}
