/* ------------------------------------------------------ 게시판 공통 ------------------------------------------------------ */
.lab-wrap{--point: #0B1A22; --btn-navy: #0B1A22; --btn-navy-dark: #0B1A22; --point-dark: #0B1A22; --point-tint: #F3F6F8; --point-line: rgba(4,32,45,.12); --ink: #0B1A22; --ink-2: #5B646E; --ink-3: rgba(91,100,110,.6); --line: rgba(4,32,45,.12); --line-2: rgba(4,32,45,.12); --bg: #F3F6F8; --card: #fff; --pad: 0px; max-width: 1600px; margin: 0 auto; padding: 100px 0; box-sizing: border-box; font-family: 'Pretendard Variable',Pretendard,sans-serif; color: var(--ink); font-size: 16px; line-height: 1.5; letter-spacing: -0.8px;}
.lab-wrap *{box-sizing: border-box;}
.lab-wrap a{color: var(--point); text-decoration: none;}
.lab-wrap a:hover{color: var(--point-dark);}
.lab-wrap input, .lab-wrap select, .lab-wrap textarea, .lab-wrap button{font-family: inherit; font-size: 16px;}
.lab-wrap input:focus, .lab-wrap select:focus, .lab-wrap textarea:focus{outline: 2px solid var(--point-line); outline-offset: -1px;}
.lab-wrap button, .lab-wrap label{word-break: keep-all; white-space: nowrap;}
.lab-wrap .sound_only{position: absolute; font-size: 0; line-height: 0; overflow: hidden; width: 1px; height: 1px;}
.lab-title{display: flex; flex-direction: column; gap: 8px; align-items: center;}
.lab-title h2{margin: 0; font-size: 34px; font-weight: 800; color: var(--ink);}
.lab-title .lab-title-bar{width: 36px; height: 3px; background: var(--point); border-radius: 0; animation: labBarIn 0.6s cubic-bezier(.4,0,.2,1) 0.1s both;}
.lab-topbar{display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 40px;}
.lab-total{font-size: 16px; color: var(--ink-2);}
.lab-total b{color: var(--point);}
.lab-crumb{font-size: 16px; color: var(--ink-2);}
.lab-actions{display: flex; gap: 8px; align-items: center; min-width: 0;}
.lab-sch-input{flex: 0 1 180px; min-width: 80px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px; background: #fff; color: var(--ink);}
.lab-btn, .lab-btn-dark, .lab-btn-point, .lab-btn-ink{display: inline-flex; align-items: center; justify-content: center; flex: none; padding: 9px 18px; border-radius: 9999px; font-size: 16px; font-weight: 600; cursor: pointer; line-height: 1.5;}
.lab-btn{border: 1px solid var(--line); background: #fff; color: var(--ink-2);}
.lab-btn:hover{color: var(--point); border-color: var(--point-line);}
.lab-btn-dark{border: 1px solid var(--ink); background: #fff; color: var(--ink);}
.lab-btn-dark:hover{color: var(--ink); background: var(--line-2);}
.lab-btn-point{border: none; background: var(--btn-navy); color: #fff;}
.lab-btn-point:hover{background: var(--btn-navy-dark); color: #fff;}
.lab-btn-ink{border: none; background: var(--ink); color: #fff; padding: 9px 14px;}
.lab-btn-ink:hover{color: #fff;}
.lab-btn i, .lab-btn-dark i, .lab-btn-point i{font-size: 16px; margin-right: 6px;}
.lab-wrap a.lab-btn{color: var(--ink-2);}
.lab-wrap a.lab-btn:hover{color: var(--point);}
.lab-wrap a.lab-btn-dark, .lab-wrap a.lab-btn-dark:hover{color: var(--ink);}
.lab-wrap a.lab-btn-point, .lab-wrap a.lab-btn-point:hover{color: #fff;}
.lab-wrap a.lab-btn-ink, .lab-wrap a.lab-btn-ink:hover{color: #fff;}
.lab-wrap a.lab-selbtn{color: var(--ink-2);}
.lab-wrap a.lab-selbtn:hover{color: var(--point);}
.lab-pills{display: flex; gap: 5px; background: var(--bg); border: 1px solid var(--line); border-radius: 999px; padding: 5px; width: fit-content; margin-top: 32px;}
.lab-pill{display: inline-block; padding: 9px 22px; border-radius: 999px; font-size: 16px; font-weight: 700; cursor: pointer; border: none; background: transparent; color: var(--ink-3);}
.lab-pill:hover{color: var(--ink-2);}
.lab-pill.on{background: #fff; color: var(--point); box-shadow: 0 2px 8px rgba(4,32,45,.12);}
.lab-wrap a.lab-pill{color: var(--ink-3);}
.lab-wrap a.lab-pill:hover{color: var(--ink-2);}
.lab-wrap a.lab-pill.on{color: var(--point);}
.lab-group-head{display: flex; align-items: center; gap: 18px;}
.lab-group-head .gname{font-size: 34px; font-weight: 800; color: var(--point); line-height: 1;}
.lab-group-head .gline{flex: 1; height: 1px; background: var(--point-line);}
.lab-group-head .gcount{font-size: 16px; font-weight: 700; color: var(--ink-3);}
.lab-wrap input[type=checkbox]{accent-color: var(--point);}
.lab-chkall{display: flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 600; color: var(--ink-3); cursor: pointer;}
.lab-chkall input{width: 15px; height: 15px;}
.lab-selbtns{display: flex; justify-content: flex-end; gap: 6px; flex-wrap: wrap;}
.lab-selbtn{display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 9999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); font-size: 16px; font-weight: 600; cursor: pointer;}
.lab-selbtn:hover{color: var(--point); border-color: var(--point-line);}
.lab-selbtn i{font-size: 16px; margin-right: 6px; color: var(--point);}
.lab-wrap .pg_wrap{display: flex; justify-content: center; gap: 4px; padding: 0; margin: 44px 0 0; text-align: center;}
.lab-wrap .pg{display: inline-flex; gap: 4px;}
.lab-wrap .pg_page, .lab-wrap .pg_current{display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 8px; border-radius: 9999px; font-size: 16px; font-weight: 600; background: #fff; border: 1px solid var(--line); color: var(--ink-2);}
.lab-wrap .pg_current{background: var(--point); border: none; color: #fff; font-weight: 700;}
.lab-wrap .pg_page:hover{color: var(--point); border-color: var(--point-line);}
.lab-wrap .pg_start, .lab-wrap .pg_prev, .lab-wrap .pg_next, .lab-wrap .pg_end{text-indent: 0; overflow: hidden; font-size: 0; padding: 0; min-width: 38px; background-image: none;}
.lab-wrap .pg_start:before, .lab-wrap .pg_prev:before, .lab-wrap .pg_next:before, .lab-wrap .pg_end:before{font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 16px; color: var(--ink-2); line-height: 1;}
.lab-wrap .pg_start:before{content: "\f100";}
.lab-wrap .pg_prev:before{content: "\f104";}
.lab-wrap .pg_next:before{content: "\f105";}
.lab-wrap .pg_end:before{content: "\f101";}
.lab-wrap .pg_start:hover:before, .lab-wrap .pg_prev:hover:before, .lab-wrap .pg_next:hover:before, .lab-wrap .pg_end:hover:before{color: var(--point);}
.lab-vbtns{display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap;}
.lab-vbtns .grp{display: flex; gap: 6px; flex-wrap: wrap;}
.lab-pn{display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}
.lab-pn a{display: flex; flex-direction: column; gap: 8px; padding: 22px 26px; background: var(--bg); border-radius: 18px; color: var(--ink);}
.lab-pn a:hover{background: var(--point-tint); color: var(--ink);}
.lab-pn .k{font-size: 16px; font-weight: 800; color: var(--ink-3);}
.lab-pn .k i{font-size: 16px;}
.lab-pn .k .fa-arrow-left{margin-right: 8px;}
.lab-pn .k .fa-arrow-right{margin-left: 8px;}
.lab-pn .t{font-size: 16px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-pn a.next{text-align: right;}
.lab-hero{background: var(--point); color: #fff; border-radius: 18px; position: relative; overflow: hidden;}
.lab-hero a{color: #fff;}
.lab-hero .lab-bigno{position: absolute; top: -58px; font-size: 260px; font-weight: 800; color: rgba(255,255,255,0.07); line-height: 1; pointer-events: none;}
.lab-meta-grid{display: grid; grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); gap: 1px; background: var(--line-2); border: 1px solid var(--line-2); border-radius: 18px; overflow: hidden;}
.lab-meta-grid .cell{background: #fff; padding: 22px 26px; display: flex; flex-direction: column; gap: 7px;}
.lab-meta-grid .k{font-size: 16px; font-weight: 800; color: var(--ink-3); text-transform: uppercase;}
.lab-meta-grid .v{font-size: 16.5px; font-weight: 700; color: var(--ink); line-height: 1.45;}
.lab-badge{display: inline-block; font-size: 16px; font-weight: 800; border-radius: 999px; padding: 4px 14px; white-space: nowrap;}
.lab-badge.bg{background: var(--point); color: #fff;}
.lab-badge.line{background: var(--point-tint); color: var(--point); border: 1px solid var(--point-line);}
.lab-badge.gray{background: var(--line-2); color: var(--ink-2);}
.lab-badge.wh{background: #fff; color: var(--point);}
.lab-chips{display: flex; gap: 6px; flex-wrap: wrap;}
.lab-chip{font-size: 16px; font-weight: 600; color: var(--ink-2); background: var(--bg); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; white-space: nowrap;}
.lab-anim{opacity: 0; transform: translateY(20px); transition: opacity 0.55s ease, transform 0.55s ease;}
.lab-anim.in{opacity: 1; transform: none;}
.lab-pills{position: relative;}
.lab-pill{position: relative; z-index: 1; transition: color 0.2s;}
.lab-pill-slider{position: absolute; z-index: 0; background: #fff; border-radius: 999px; box-shadow: 0 2px 8px rgba(4,32,45,.12); transition: left 0.28s cubic-bezier(.4,0,.2,1),width 0.28s cubic-bezier(.4,0,.2,1),top 0.28s,height 0.28s,opacity 0.2s; opacity: 0; pointer-events: none;}
.lab-pills.js-slide .lab-pill.on{background: transparent; box-shadow: none;}
.lab-pills.js-slide .lab-pill:hover{color: var(--point);}
.lab-featured-mark{display: inline-flex; align-items: center; gap: 5px; font-size: 16px; font-weight: 800; color: var(--point); background: var(--point-tint); border: 1px solid var(--point-line); border-radius: 999px; padding: 3px 10px; white-space: nowrap;}
.lab-featured-mark i{font-size: 16px;}
.lab-w-chk{display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; color: var(--ink-2); cursor: pointer;}
.lab-w-chk input{width: 17px; height: 17px;}
.lab-btn, .lab-btn-dark, .lab-btn-point, .lab-btn-ink, .lab-selbtn, .lab-pill, .lab-chip, .lab-wrap .pg_page{transition: background 0.18s,color 0.18s,border-color 0.18s,box-shadow 0.18s,transform 0.18s;}
.lab-btn-point:hover{box-shadow: 0 6px 16px rgba(11, 26, 34, .25); transform: translateY(-1px);}
.lab-btn:hover, .lab-btn-dark:hover{transform: translateY(-1px);}
@keyframes labBarIn {
	from{transform: scaleX(0);}
	to{transform: scaleX(1);}
}
.lab-group-head.lab-anim .gline{transform: scaleX(0); transform-origin: left; transition: transform 0.8s cubic-bezier(.4,0,.2,1) 0.25s;}
.lab-group-head.lab-anim.in .gline{transform: scaleX(1);}
.lab-author-link{color: inherit; border-bottom: 1px dashed var(--point-line); padding-bottom: 1px;}
.lab-author-link:hover{color: var(--point); border-bottom-style: solid;}
.lab-feat .authors a.lab-author-link, .lab-jrv-hero .authors a.lab-author-link{color: #fff; border-bottom: 1px dashed rgba(255,255,255,0.45);}
.lab-feat .authors a.lab-author-link:hover, .lab-jrv-hero .authors a.lab-author-link:hover{color: #fff; border-bottom-style: solid;}
.lab-feat .authors{font-size: 16px;}
.lab-feat .fmeta{display: block; font-size: 16px; font-weight: 700; opacity: 0.75; margin-top: 16px; text-transform: uppercase; position: relative;}
.lab-feat .bigno, .lab-feat .tag, .lab-feat .pos, .lab-feat h3, .lab-feat .fmeta, .lab-feat .authors, .lab-feat .fimg{transition: opacity 0.3s ease;}
.lab-feat.fading .bigno, .lab-feat.fading .tag, .lab-feat.fading .pos, .lab-feat.fading h3, .lab-feat.fading .fmeta, .lab-feat.fading .authors, .lab-feat.fading .fimg{opacity: 0;}
/* =================== 반응형 =================== */
@supports (color: oklch(from red l c h)) {
	.lab-wrap{--point-dark: oklch(from var(--point) calc(l - 0.08) c h); --point-tint: oklch(from var(--point) 0.96 calc(c * 0.12) h); --point-line: oklch(from var(--point) 0.88 calc(c * 0.25) h);}
}
@media (prefers-reduced-motion: reduce) {
	.lab-anim{opacity: 1; transform: none; transition: none;}
	.lab-title .lab-title-bar{animation: none;}
	.lab-group-head.lab-anim .gline{transform: none; transition: none;}
}

/* ------------------------------------------------------ sub5_1 공지사항 목록 ------------------------------------------------------ */
.lab-basic{padding: 72px 0 96px;}
.lab-basic .lab-title{margin-bottom: 36px;}
.lab-basic > form{padding: 0 var(--pad);}
.lab-nt{--nt-ink: #0B1A22; --nt-gray: #5B646E; --nt-dim: rgba(91, 100, 110, .6); --nt-blue: #1DB3EF; --nt-line: rgba(4, 32, 45, .12); --nt-soft: #F3F6F8;}
.lab-nt-bar{display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin: 0 var(--pad);}
.lab-nt-bar .lft{display: flex; align-items: flex-end; min-width: 0;}
.lab-nt-bar .rgt{display: flex; align-items: center; gap: 20px; min-width: 0; margin-left: auto;}
.lab-nt-bar .rgt .btns{display: flex; align-items: center; gap: 8px;}
.lab-nt-tab{display: flex; gap: 30px; border-bottom: 1px solid var(--nt-line);}
.lab-wrap .lab-nt-tab a{position: relative; display: flex; align-items: center; height: 50px; font-size: 17px; font-weight: 600; color: var(--nt-dim); transition: color .3s;}
.lab-wrap .lab-nt-tab a:after{content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--nt-blue); transform: scaleX(0); transform-origin: left center; transition: transform .4s cubic-bezier(.22, 1, .36, 1);}
.lab-wrap .lab-nt-tab a:hover, .lab-wrap .lab-nt-tab a.on{color: var(--nt-ink);}
.lab-wrap .lab-nt-tab a.on:after{transform: scaleX(1);}
.lab-nt-sch{display: flex; align-items: center; width: 360px; max-width: 100%; height: 50px; margin: 0; border-bottom: 1px solid var(--nt-ink);}
.lab-nt-sch select{flex: none; width: 80px; height: 100%; padding: 0; border: 0; background: transparent; font-size: 16px; color: var(--nt-ink); cursor: pointer;}
.lab-nt-sch input[type=text]{flex: 1; min-width: 0; height: 100%; padding: 0 10px; border: 0; background: transparent; font-size: 16px; color: var(--nt-ink);}
.lab-nt-sch input[type=text]::placeholder{color: var(--nt-dim);}
.lab-nt-sch select:focus, .lab-nt-sch input[type=text]:focus, .lab-nt-sch button:focus{outline: 0 !important; border: 0 !important; box-shadow: none !important;}
.lab-nt-sch button{flex: none; height: 100%; padding: 0 4px; border: 0; background: transparent; font-size: 18px; color: var(--nt-ink); cursor: pointer; transition: color .3s;}
.lab-nt-sch button:hover{color: var(--nt-blue);}
.lab-nt-body{margin-top: 40px;}
.lab-nt-info{display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px;}
.lab-nt-info .lab-total{font-size: 15px; color: var(--nt-dim);}
.lab-nt-info .lab-total b{font-weight: 700; color: var(--nt-ink);}
.lab-nt-list{margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--nt-ink);}
.lab-nt-item{position: relative; border-bottom: 1px solid var(--nt-line);}
.lab-nt-item > input[type=checkbox]{position: absolute; left: 0; top: 50%; z-index: 2; width: 16px; height: 16px; margin-top: -8px; accent-color: var(--nt-blue); cursor: pointer;}
.lab-wrap .lab-nt-item > a{display: grid; grid-template-columns: 100px minmax(0, 1fr) 130px 40px; align-items: center; gap: 20px; padding: 30px 20px; color: var(--nt-ink); transition: background .3s;}
.lab-nt-list:not(.no-chk) .lab-nt-item > a{padding-left: 40px;}
.lab-wrap .lab-nt-item > a:hover{background: var(--nt-soft);}
.lab-nt-item.is-notice > a{background: var(--nt-soft);}
.lab-nt-no{font-family: 'Outfit', 'Pretendard Variable', sans-serif; font-size: 16px; font-weight: 500; letter-spacing: 0; text-align: center; color: var(--nt-dim);}
.lab-nt-item.is-notice .lab-nt-no{font-family: inherit; font-size: 15px; font-weight: 700; letter-spacing: -0.8px; color: var(--nt-blue);}
.lab-nt-main{display: flex; flex-direction: column; gap: 8px; min-width: 0;}
.lab-nt-cate{font-size: 14px; font-weight: 600; font-style: normal; color: var(--nt-blue);}
.lab-wrap .lab-nt-tit{display: block; overflow: hidden; font-size: 20px; font-weight: 700; line-height: 1.5; color: var(--nt-ink); text-overflow: ellipsis; white-space: nowrap; transition: color .3s;}
.lab-wrap .lab-nt-item > a:hover .lab-nt-tit{color: var(--nt-blue);}
.lab-nt-marks{display: inline-flex; align-items: center; gap: 12px; font-size: 14px; color: var(--nt-dim);}
.lab-nt-marks b{font-weight: 700; font-style: normal;}
.lab-nt-marks .ccnt{display: inline-flex; align-items: center; gap: 5px;}
.lab-nt-marks .nbadge{font-size: 12px; color: var(--nt-blue);}
.lab-nt-date{font-family: 'Outfit', 'Pretendard Variable', sans-serif; font-size: 16px; letter-spacing: 0; text-align: right; color: var(--nt-gray);}
.lab-nt-go{justify-self: end; font-size: 22px; line-height: 1; color: var(--nt-ink); transition: transform .4s cubic-bezier(.22, 1, .36, 1), color .3s;}
.lab-wrap .lab-nt-item > a:hover .lab-nt-go{color: var(--nt-blue); transform: translateX(6px);}
.lab-nt-empty{padding: 70px 0; border-bottom: 1px solid var(--nt-line); font-size: 16px; text-align: center; color: var(--nt-dim);}
.lab-basic-foot{display: flex; justify-content: flex-end; gap: 6px; margin-top: 22px; flex-wrap: wrap;}
.lab-wrap.lab-nt .pg_wrap{margin-top: 70px; gap: 4px;}
.lab-wrap.lab-nt .pg_page, .lab-wrap.lab-nt .pg_current{min-width: 40px; height: 40px; padding: 0 8px; border: 0; border-radius: 50%; background: transparent; font-size: 16px; font-weight: 500; color: var(--ink);}
.lab-wrap.lab-nt .pg_page:hover{background: var(--nt-soft); color: var(--nt-blue); border: 0;}
.lab-wrap.lab-nt .pg_current{background: var(--nt-blue); color: #fff; font-weight: 700;}
.lab-wrap.lab-nt .pg_start, .lab-wrap.lab-nt .pg_prev, .lab-wrap.lab-nt .pg_next, .lab-wrap.lab-nt .pg_end{min-width: 40px; padding: 0; font-size: 0;}
/* =================== 반응형 =================== */
@media (max-width: 1024px) {
	.lab-wrap .lab-nt-item > a{grid-template-columns: 70px minmax(0, 1fr) 110px 30px; gap: 16px; padding: 26px 10px;}
	.lab-nt-list:not(.no-chk) .lab-nt-item > a{padding-left: 30px;}
	.lab-wrap .lab-nt-tit{font-size: 18px;}
}
@media (max-width: 860px) {
	.lab-nt-bar{flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 16px;}
	.lab-nt-bar .rgt{flex-direction: column; align-items: stretch; gap: 12px; margin-left: 0;}
	.lab-nt-bar .rgt .btns{justify-content: flex-end;}
	.lab-nt-sch{width: 100%;}
	.lab-nt-tab{gap: 24px; overflow-x: auto;}
	.lab-wrap .lab-nt-tab a{height: 46px; font-size: 16px; white-space: nowrap;}
	.lab-nt-body{margin-top: 28px;}
	.lab-wrap .lab-nt-item > a{grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 20px 4px;}
	.lab-nt-list:not(.no-chk) .lab-nt-item > a{padding-left: 30px;}
	.lab-nt-no{display: none;}
	.lab-nt-item.is-notice .lab-nt-no{display: block; text-align: left;}
	.lab-nt-date{font-size: 14px; text-align: left;}
	.lab-wrap .lab-nt-tit{display: -webkit-box; font-size: 17px; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
	.lab-nt-go{display: none;}
	.lab-wrap.lab-nt .pg_wrap{margin-top: 40px;}
}

/* ------------------------------------------------------ 게시판 보기 ------------------------------------------------------ */
.lab-bv-head{padding: 30px 6px 24px;}
.lab-bv-head h3{margin: 0 0 16px; font-size: 25px; font-weight: 800; line-height: 1.4; max-width: 900px; color: var(--ink);}
.lab-bv-meta{display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;}
.lab-bv-meta .who{font-size: 16px; color: var(--ink-2); font-weight: 600; display: none;}
.lab-bv-meta .who span{color: var(--ink-3); font-weight: 400;}
.lab-bv-meta .stats{display: flex; gap: 14px; font-size: 16px; color: var(--ink-3); white-space: nowrap;}
.lab-bv-meta .stats i{margin-right: 5px;}
.lab-bv-con{background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 32px; margin-top: 10px; display: flex; flex-direction: column; gap: 16px; font-size: 16px; line-height: 1.7; color: var(--ink-2);}
.lab-bv-con img{max-width: 100%; height: auto; border-radius: 18px;}
.lab-bv-file{margin-top: 22px;}
.lab-bv-file .fh{display: flex; align-items: center; gap: 8px; margin-bottom: 10px; padding-left: 2px;}
.lab-bv-file .fh .tt{font-size: 16px; font-weight: 800; color: var(--ink);}
.lab-bv-file .fh .cnt{font-size: 16px; font-weight: 700; color: var(--point); background: var(--point-tint); border-radius: 999px; padding: 2px 9px;}
.lab-bv-file a.fitem{display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 18px; padding: 12px 16px; color: var(--ink); margin-bottom: 8px;}
.lab-bv-file a.fitem:last-child{margin-bottom: 0;}
.lab-bv-file a.fitem:hover{border-color: var(--point-line); background: var(--point-tint); color: var(--ink);}
.lab-bv-file .ext{width: 34px; height: 34px; flex: none; border-radius: 9999px; background: var(--point-tint); color: var(--point); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 800;}
.lab-bv-file .nm{flex: 1; min-width: 0; font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-bv-file .inf{font-size: 16px; color: var(--ink-3); white-space: nowrap;}
.lab-bv-file .dl{color: var(--point); font-size: 16px;}
.lab-bv-btns{margin-top: 24px;}
.lab-bv-nav{display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 18px 24px; margin-top: 20px; color: var(--ink);}
.lab-bv-nav:hover{border-color: var(--point-line); background: var(--point-tint); color: var(--ink);}
.lab-bv-nav .k{font-size: 16px; font-weight: 800; color: var(--point);}
.lab-bv-nav .k i{font-size: 16px;}
.lab-bv-nav .t{font-size: 16px; font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-bv-nav .d{font-size: 16px; color: var(--ink-3);}

/* ------------------------------------------------------ 글쓰기 ------------------------------------------------------ */
.lab-w{padding: 72px var(--pad) 96px;}
.lab-w .lab-title{margin-bottom: 40px;}
.lab-w-tophead{display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--ink); padding-bottom: 16px;}
.lab-w-tophead .opt{display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; color: var(--ink-2); cursor: pointer;}
.lab-w-tophead .opt input{width: 17px; height: 17px;}
.lab-w-tophead .req-note{font-size: 16px; color: var(--ink-3);}
.lab-w-tophead .req-note b{color: #e5484d;}
.lab-w-row{display: grid; grid-template-columns: minmax(120px,180px) 1fr; align-items: center; border-bottom: 1px solid var(--line-2); padding: 10px 0;}
.lab-w-row.top{align-items: start;}
.lab-w-row > label, .lab-w-row > .lab-w-label{padding: 0 18px; font-size: 16px; font-weight: 700; color: var(--ink); display: flex; align-items: center; gap: 4px;}
.lab-w-row.top > label, .lab-w-row.top > .lab-w-label{padding-top: 14px;}
.lab-w-row .req{color: #e5484d; font-weight: 700;}
.lab-w-field{padding: 6px 8px; min-width: 0;}
.lab-w-input{width: 100%; padding: 12px 15px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px; background: #fff; color: var(--ink);}
.lab-w-input.w260{max-width: 260px;}
.lab-w-help{display: block; margin-top: 6px; font-size: 16px; color: var(--ink-3);}
.lab-w-select{width: 220px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px; background: #fff; color: var(--ink-2);}
.lab-w-editor{border: 1px solid var(--line); border-radius: 18px; overflow: hidden;}
.lab-w-editor textarea{width: 100%; height: 220px; border: none; padding: 16px; font-size: 16px; resize: vertical;}
.lab-dz{border: 1.5px dashed var(--point-line); border-radius: 18px; background: var(--bg); padding: 30px; display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; transition: all 0.15s;}
.lab-dz.drag{border-color: var(--point); background: var(--point-tint);}
.lab-dz i{font-size: 22px; color: var(--point);}
.lab-dz .t{font-size: 16px; font-weight: 700; color: var(--ink);}
.lab-dz .t span{color: var(--point);}
.lab-dz .s{font-size: 16px; color: var(--ink-3);}
.lab-dz-files{display: flex; flex-direction: column; gap: 10px;}
.lab-dz-item{display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 9999px; padding: 10px 14px; background: #fff;}
.lab-dz-item .ext{width: 32px; height: 32px; flex: none; border-radius: 9999px; background: var(--point-tint); color: var(--point); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 800;}
.lab-dz-item .nm{flex: 1; min-width: 0; font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-dz-item .sz{font-size: 16px; color: var(--ink-3); white-space: nowrap;}
.lab-dz-item .rm{width: 26px; height: 26px; border: none; border-radius: 9999px; background: transparent; color: var(--ink-3); cursor: pointer;}
.lab-dz-item .rm:hover{background: var(--line-2); color: #e5484d;}
.lab-dz-item label{font-size: 16px; color: var(--ink-3); display: flex; align-items: center; gap: 5px; cursor: pointer;}
.lab-w-hiddenfiles{display: none;}
.lab-people{margin-top: 8px; border: 1px solid var(--line); border-radius: 18px; background: var(--bg); padding: 14px 16px; display: none;}
.lab-people.open{display: block;}
.lab-people .pg-title{font-size: 16px; font-weight: 800; color: var(--ink-3); margin: 8px 0 6px;}
.lab-people .pg-title:first-child{margin-top: 0;}
.lab-people .plist{display: flex; gap: 6px; flex-wrap: wrap;}
.lab-people .p{font-size: 16px; font-weight: 600; color: var(--ink-2); background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 5px 13px; cursor: pointer;}
.lab-people .p:hover{border-color: var(--point); color: var(--point);}
.lab-people .p.on{background: var(--point); border-color: var(--point); color: #fff;}
.lab-w-foot{display: flex; justify-content: flex-end; gap: 8px; margin-top: 30px;}
.lab-w-cancel{display: inline-flex; align-items: center; padding: 12px 28px; border-radius: 9999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); font-size: 16px; font-weight: 600; cursor: pointer;}
.lab-w-cancel:hover{color: var(--ink);}
.lab-w-submit{padding: 12px 34px; border-radius: 9999px; border: none; background: var(--point); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 4px 14px rgba(11, 26, 34, .25);}
.lab-w-submit:hover{background: var(--point-dark);}
/* =================== 반응형 =================== */
@supports (color: oklch(from red l c h)) {
	.lab-w-submit{box-shadow: 0 4px 14px oklch(from var(--point) l c h / 0.25);}
}

/* ------------------------------------------------------ 댓글 ------------------------------------------------------ */
.lab-cmt{margin-top: 44px;}
.lab-cmt-head{display: flex; align-items: center; gap: 8px; padding-bottom: 14px; border-bottom: 2px solid var(--ink);}
.lab-cmt-head .tt{font-size: 16px; font-weight: 800; color: var(--ink);}
.lab-cmt-head .cnt{font-size: 16px; font-weight: 700; color: var(--ink-2); background: var(--line-2); border-radius: 999px; padding: 2px 10px;}
.lab-cmt-empty{padding: 44px 0; text-align: center; color: var(--ink-3); font-size: 16px;}
.lab-cmt-item{padding: 20px 6px; border-bottom: 1px solid var(--line-2);}
.lab-cmt-item .meta{display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px;}
.lab-cmt-item .who{font-size: 16px; font-weight: 700; color: var(--ink);}
.lab-cmt-item .when{font-size: 16px; color: var(--ink-3);}
.lab-cmt-item .body{font-size: 16px; line-height: 1.7; color: var(--ink-2);}
.lab-cmt-item .cbtns{display: flex; gap: 8px; margin-top: 8px;}
.lab-cmt-item .cbtns a, .lab-cmt-item .cbtns button{font-size: 16px; color: var(--ink-3); background: none; border: none; cursor: pointer; padding: 0;}
.lab-cmt-item .cbtns a:hover, .lab-cmt-item .cbtns button:hover{color: var(--point);}
.lab-cmt-form{border: 1px solid var(--line); border-radius: 18px; overflow: hidden; margin-top: 20px;}
.lab-cmt-form textarea{width: 100%; height: 110px; border: none; padding: 16px; font-size: 16px; resize: vertical;}
.lab-cmt-form .foot{display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: var(--bg); border-top: 1px solid var(--line);}
.lab-cmt-form .foot label{display: flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 600; color: var(--ink-2); cursor: pointer;}
.lab-cmt-form .foot label input{width: 15px; height: 15px;}
.lab-cmt-form .foot .send{padding: 10px 22px; border-radius: 9999px; border: none; background: var(--point); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer;}
.lab-cmt-form .foot .send:hover{background: var(--point-dark);}
.lab-cmt-form .guest-row{display: flex; gap: 8px; padding: 10px 14px 0;}
.lab-cmt-form .guest-row input{padding: 9px 12px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px;}

/* ------------------------------------------------------ 게시판 목록 공통 ------------------------------------------------------ */
.lab-listbar{display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 40px 0 0; padding: 0 var(--pad);}
.lab-listbar .lft{display: flex; align-items: center; gap: 14px; flex-wrap: wrap; min-width: 0;}
.lab-listbar .rgt{display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0;}
.lab-listbar .lab-total{font-size: 16px; color: var(--ink-2);}
.lab-listbar .lab-total b{color: var(--point);}
.lab-sch{display: flex; gap: 8px; align-items: center; min-width: 0; margin: 0;}
.lab-sch .lab-sch-input{flex: 0 1 180px; min-width: 80px; box-sizing: border-box; padding: 9px 14px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px; background: #fff; color: var(--ink);}
.lab-sch .lab-sch-input:focus{outline: 2px solid var(--point-line); outline-offset: -1px;}
.lab-sch .lab-sch-btn{flex: none; display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; border-radius: 9999px; border: none; background: var(--ink); color: #fff; font-size: 16px; cursor: pointer; line-height: 1.5;}
.lab-sch .lab-sch-btn:hover{background: var(--point);}
.lab-sch .lab-sch-sel{padding: 9px 12px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px; color: var(--ink-2); background: #fff;}
.lab-cbadge{display: inline-flex; align-items: center; font-size: 16px; font-weight: 800; color: var(--point); background: var(--point-tint); border: 1px solid var(--point-line); border-radius: 999px; padding: 4px 12px; flex: none; white-space: nowrap;}
.lab-cbadge.on{color: #fff; background: var(--point); border-color: var(--point);}
.lab-notice-mark{display: inline-flex; align-items: center; gap: 5px; font-size: 16px; font-weight: 800; color: #fff; background: var(--point); border-radius: 999px; padding: 4px 11px; flex: none; white-space: nowrap;}
.lab-notice-mark i{font-size: 16px;}
.is-notice{background: var(--point-tint);}
.lab-palette{display: flex; flex-wrap: wrap; gap: 8px;}
.lab-palette .pl{display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px 7px 9px; border: 1px solid var(--line); border-radius: 999px; background: #fff; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--ink-2); transition: border-color .15s,color .15s,box-shadow .15s;}
.lab-palette .pl:hover{border-color: var(--point-line); color: var(--ink);}
.lab-palette .pl input{position: absolute; opacity: 0; width: 0; height: 0;}
.lab-palette .pl .sw{width: 18px; height: 18px; border-radius: 50%; background: var(--point); border: 1px solid rgba(11, 26, 34, .14); flex: none;}
.lab-palette .pl.on{border-color: var(--point); color: var(--point); box-shadow: 0 0 0 3px var(--point-tint);}
.lab-cbadge, .lab-faq-item .q .cate, .lab-lecc-item .tag.ok, .lab-lec-card .tg.mat, .lab-badge.line{background: oklch(from var(--point) 0.90 calc(c * 0.22) h); border: 1px solid var(--point-line);}
.lab-wrap h1, .lab-wrap h2, .lab-wrap h3, .lab-wrap h4, .lab-wrap h5, .lab-wrap h6, .lab-lecc-modal h3, .lab-lecv-gate h3, .lab-wrap input, .lab-wrap select, .lab-wrap textarea, .lab-wrap button{font-family: 'Pretendard Variable',Pretendard,sans-serif;}
.lab-wrap{font-size: 16px;}
.lab-jrv-con, .lab-pfv-con, .lab-lecv-con, .lab-bv-con, .lab-vdv-con, .lab-html-con, .lab-gv-body, .lab-fcv-sec .con, .rs-content, #bo_v_con, .lab-faq-item .a{font-size: 16px; line-height: 1.8;}
.lab-pfv-sec .row .b, .lab-mbv-sec .row .b{font-size: 16px; line-height: 1.7;}
.lab-pn{grid-template-columns: minmax(0,1fr) minmax(0,1fr);}
.lab-pn a{min-width: 0; max-width: 100%;}
.lab-pn .t{display: block; min-width: 0;}
.lab-pill{white-space: nowrap;}
/* =================== 반응형 =================== */
@media (max-width: 1600px) {
	.lab-wrap{--pad: clamp(16px,2vw,24px);}
}
@media (max-width: 860px) {
	.lab-listbar{flex-direction: column; align-items: flex-start;}
	.lab-listbar .rgt{width: 100%;}
	.lab-sch{flex: 1 1 100%;}
	.lab-sch .lab-sch-input{flex: 1 1 auto;}
	.lab-pn{grid-template-columns: 1fr;}
	.lab-w-row{grid-template-columns: 1fr;}
	.lab-w-row > label, .lab-w-row > .lab-w-label{padding: 6px 8px 0;}
	.lab-title h2{font-size: 27px;}
	.lab-pn{grid-template-columns: minmax(0,1fr);}
	.lab-pills{flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; width: auto; max-width: fit-content;}
	.lab-pills::-webkit-scrollbar{display: none;}
	.lab-pills .lab-pill{flex: none;}
	article#bo_v.lab-basic{padding-left: var(--pad); padding-right: var(--pad);}
}
