/* ============================================================
   lab_member2 — 공통 / 목록 / 상세 / 글쓰기 / 댓글
   ============================================================ */

   .lab-wrap{--point:#12295f; --accent:#2f7fd4; --cyan:#34a7e2; --point-dark:#0b1c3d; --point-tint:#f2f6fc; --point-line:#dde8f6; --ink:#1a1d24; --ink-2:#4b5160; --ink-3:#8a90a0; --line:#e3e6ec; --line-2:#eef0f4; --bg:#f6f8fb; --pad:20px; max-width:1400px; margin:0 auto; box-sizing:border-box; font-family:'Paperlogy','Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif; color:var(--ink); font-size:16px; line-height:1.6; word-break:keep-all;}
   .lab-wrap *{box-sizing:border-box;}
   .lab-wrap h1,.lab-wrap h2,.lab-wrap h3,.lab-wrap h4,.lab-wrap h5,.lab-wrap h6,.lab-wrap input,.lab-wrap select,.lab-wrap textarea,.lab-wrap button{font-family:'Pretendard Variable',Pretendard,sans-serif;}
   .lab-wrap a{color:var(--point); text-decoration:none;}
   .lab-wrap a:hover{color:var(--point-dark);}
   .lab-wrap input:focus,.lab-wrap select:focus,.lab-wrap textarea:focus{outline:2px solid var(--point-line); outline-offset:-1px;}
   .lab-wrap input[type=checkbox]{accent-color:var(--point);}
   .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;}
   
   @media (max-width:1400px) {
       .lab-wrap{--pad:clamp(20px,3vw,32px);}
   }
   
   /* --- 버튼 --- */
   .lab-btn,.lab-btn-dark,.lab-btn-point{display:inline-flex; align-items:center; justify-content:center; flex:none; padding:10px 20px; border-radius:8px; font-size:15px; font-weight:600; line-height:1.5; cursor:pointer; transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s;}
   .lab-btn i,.lab-btn-dark i,.lab-btn-point i{font-size:12px; margin-right:6px;}
   .lab-btn{border:1px solid var(--line); background:#fff;}
   .lab-btn-dark{border:1px solid var(--ink); background:#fff;}
   .lab-btn-point{border:none; background:var(--point);}
   .lab-btn:hover,.lab-btn-dark:hover{transform:translateY(-1px);}
   .lab-btn-dark:hover{background:var(--line-2);}
   .lab-btn-point:hover{background:var(--point-dark); box-shadow:0 6px 16px rgba(15,37,87,.25);}
   .lab-wrap a.lab-btn{color:var(--ink-2);}
   .lab-wrap a.lab-btn:hover{color:var(--point); border-color:var(--point-line);}
   .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-topbar{display:flex; justify-content:flex-end; align-items:center; gap:12px; flex-wrap:wrap; margin-top:40px;}
   .lab-actions{display:flex; align-items:center; gap:8px; min-width:0;}
   .lab-vbtns{display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;}
   .lab-vbtns .grp{display:flex; gap:6px; flex-wrap:wrap;}
   
   /* --- 스크롤 등장 (lab_anim.js) --- */
   .lab-anim{opacity:0; transform:translateY(20px); transition:opacity .55s ease,transform .55s ease;}
   .lab-anim.in{opacity:1; transform:none;}
   
   @media (prefers-reduced-motion: reduce) {
       .lab-anim{opacity:1; transform:none; transition:none;}
   }
   
   
   /* ============================================================
      목록 상단 바 · 검색
      ============================================================ */
   
   .lab-listbar{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;}
   .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-total{font-size:14px; color:var(--ink-2);}
   .lab-total b{color:var(--point);}
   .lab-sch{display:flex; align-items:center; gap:8px; min-width:0; margin:0;}
   .lab-sch .lab-sch-input{flex:0 1 180px; min-width:80px; padding:9px 14px; border:1px solid var(--line); border-radius:6px; font-size:14px; background:#fff; color:var(--ink);}
   .lab-sch .lab-sch-btn{flex:none; display:inline-flex; align-items:center; justify-content:center; padding:9px 14px; border:none; border-radius:6px; background:var(--ink); color:#fff; font-size:14px; line-height:1.5; cursor:pointer;}
   .lab-sch .lab-sch-btn:hover{background:var(--point);}
   
   @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;}
   }
   
   
   /* ============================================================
      연구분야 아이콘
      ============================================================ */
   
   .rf{display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap;}
   .rf-i{display:inline-flex; align-items:center; justify-content:center; flex:none; width:54px; height:54px; border:3px solid var(--rf,#404660); border-radius:14px; background:#404660;}
   .rf-i img{width:auto; height:auto; max-width:28px; max-height:28px; object-fit:contain;}
   
   /* 범례 — 목록 상단 · 상세 Research Field 공용 */
   .rf-lg{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
   .rf-lg .lg{position:relative; display:inline-flex; align-items:center; gap:10px; height:54px; padding-right:18px; border-radius:14px;}
   .rf-lg .lg:before{content:""; position:absolute; inset:0; border-radius:14px; background:var(--rf); opacity:.15;}
   .rf-lg .lg .rf-i{position:relative; z-index:1; box-shadow:2px 1px 4.5px rgba(0,0,0,.14);}
   .rf-lg .lg em{position:relative; z-index:1; font-style:normal; font-size:16px; font-weight:600; color:#333;}

   .mb2-bar{display:flex; align-items:center; justify-content:flex-end; gap:16px 24px; flex-wrap:wrap; margin-top:35px;}
   
   
   /* ============================================================
      MEMBER LIST — 카드
      ============================================================ */
   .lab-mb-head{padding:52px var(--pad) 0;}
   .lab-mb-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(600px,100%),1fr)); gap:36px 34px; margin-top:36px;}
   .lab-mb-empty{padding:80px 0; text-align:center; color:var(--ink-3); font-size:16px;}
   
   /* 카드 */
   .lab-mb-card{--mb-gap:45px; position:relative; display:grid; grid-template-columns:180px minmax(0,1fr); gap:var(--mb-gap); padding:30px; background:#fff; border:1px solid #dde8f6; border-radius:20px; transition:opacity .55s ease,transform .55s ease,box-shadow .35s,border-color .35s;}
   .lab-mb-card:hover{border-color:#c6daf0; box-shadow:0 14px 34px rgba(18,41,95,.09);}

   /* hover 모서리 브래킷 */
   .lab-mb-card:before,.lab-mb-card:after{content:""; position:absolute; inset:-1px; z-index:2; pointer-events:none; border:2px solid transparent; border-radius:20px; opacity:0; transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.25,1);}
   .lab-mb-card:before{border-top-color:var(--accent); border-left-color:var(--accent); clip-path:polygon(0 0,90px 0,0 90px); transform:translate(7px,7px);}
   .lab-mb-card:after{border-right-color:var(--cyan); border-bottom-color:var(--cyan); clip-path:polygon(100% 100%,calc(100% - 90px) 100%,100% calc(100% - 90px)); transform:translate(-7px,-7px);}
   .lab-mb-card:hover:before,.lab-mb-card:hover:after{opacity:1; transform:none;}

   .lab-mb-card .phbox{grid-column:1; grid-row:1; position:relative; align-self:start; width:180px; border-radius:14px; overflow:hidden; background:linear-gradient(155deg,#e8f0f9,#dbe7f5); box-shadow:3px 4px 11px rgba(22,39,78,.16);}
   .lab-mb-card .phbox .ph{display:block; width:100%; padding-top:125%; background-size:cover; background-position:50% 15%; background-repeat:no-repeat; filter:saturate(.55) contrast(1.03); transition:transform .65s cubic-bezier(.2,.8,.25,1),filter .5s;}
   .lab-mb-card:hover .phbox .ph{transform:scale(1.05); filter:none;}
   .lab-mb-card .phbox:after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:0; background:linear-gradient(180deg,rgba(11,42,94,0) 48%,rgba(11,42,94,.34) 100%); transition:opacity .4s;}
   .lab-mb-card:hover .phbox:after{opacity:1;}
   
   .lab-mb-card .info{grid-column:2; grid-row:1; position:relative; z-index:1; display:flex; flex-direction:column; min-width:0;}
   /* 사진/정보 사이 헤어라인 + 시안 눈금 */
   .lab-mb-card .info:before{content:""; position:absolute; left:calc(var(--mb-gap) / -2); top:-4px; bottom:32px; width:1px; background:linear-gradient(180deg,transparent 0,var(--point-line) 10%,var(--point-line) 90%,transparent 100%);}
   .lab-mb-card .info:after{content:""; position:absolute; left:calc(var(--mb-gap) / -2 - 4px); top:16px; width:9px; height:2px; background:var(--cyan);}
   
   .lab-mb-card .nmrow{display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 11px;}
   .lab-mb-card .nm{display:block; margin:0; font-size:30px; font-weight:700; letter-spacing:-.02em; line-height:35px; color:#0b2a5e;}
   .lab-mb-card .en{display:block; margin:0; font-size:16px; font-weight:600; letter-spacing:.02em; line-height:19px; color:#77808f;}
   .lab-mb-card .pos{display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap;}
   .lab-mb-card .pos em{display:inline-flex; align-items:center; padding:6px 14px; border:1px solid var(--point); border-radius:999px; background:var(--point); font-style:normal; font-size:15px; font-weight:700; line-height:1.3; color:#fff; white-space:nowrap;}
   
   /* 성명 다음 블록 구분선 */
   .lab-mb-card .info .nmrow + *{margin-top:15px; padding-top:16px; border-top:1px solid #e8eff8;}
   .lab-mb-card .kd{display:block; font-size:17px; font-weight:600; line-height:20px; color:#989898;}
   .lab-mb-card .lb{display:block; margin-top:12px; font-size:17px; font-weight:600; line-height:20px; color:#506a9a;}
   
   .lab-mb-card .ct{margin:12px 0 0; padding:0; list-style:none;}
   .lab-mb-card .ct li{display:flex; align-items:center; gap:12px; min-width:0; padding:10px 0; font-size:16px; font-weight:500; line-height:19px; color:#5b626f;}
   .lab-mb-card .ct li + li{border-top:1px dashed #e8eff8;}
   .lab-mb-card .ct li > i{flex:none; width:17px; font-size:15px; color:#1b4ca0; text-align:center;}
   .lab-mb-card .ct a,.lab-mb-card .ct .v{color:#5b626f; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
   .lab-mb-card .ct a:hover{color:var(--accent);}
   
   .lab-mb-card .foot{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:auto; padding-top:19px;}
   .lab-mb-card .foot .rf{margin-left:auto;}
   .lab-mb-card .foot .chk{display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:700; color:var(--ink-3); white-space:nowrap; cursor:pointer;}
   .lab-mb-card .foot .chk input{width:16px; height:16px;}
   .lab-mb-card .wsite{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:122px; height:41px; padding:0 18px; border:1px solid #d2d8e4; border-radius:10px; background:#fff; font-size:12px; font-weight:700; letter-spacing:.06em; line-height:1; transition:border-color .25s,color .25s,background .25s;}
   .lab-mb-card .wsite i{font-size:13px;}
   .lab-wrap a.wsite{color:#8a90a0;}
   .lab-wrap a.wsite:hover{color:var(--point); border-color:var(--point-line); background:var(--point-tint);}
   .lab-mb-card .edit{display:inline-flex; align-items:center; gap:8px; padding:14px 18px; border:1px solid var(--line); border-radius:10px; background:#fff; font-size:12px; font-weight:800; letter-spacing:.08em; line-height:1; transition:background .25s,border-color .25s,box-shadow .25s;}
   .lab-wrap a.edit{color:var(--ink-3);}
   .lab-wrap a.edit:hover{color:#fff; background:var(--ink); border-color:var(--ink); box-shadow:0 8px 18px rgba(26,29,36,.22);}
   
   /* --- 목록 하단 바 --- */
   .lab-mb-foot{display:flex; align-items:center; justify-content:space-between; gap:10px 16px; flex-wrap:wrap; margin:36px 0 0; padding:22px var(--pad) 0; border-top:1px solid var(--point-line);}
   .lab-mb-foot .lft{display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0;}
   .lab-mb-foot .rgt{display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; margin-left:auto;}
   .lab-chkall{display:flex; align-items:center; gap:7px; margin-right:8px; font-size:15px; font-weight:600; color:var(--ink-2); cursor:pointer;}
   .lab-chkall input{width:16px; height:16px;}
   .lab-selbtn{display:inline-flex; align-items:center; padding:10px 18px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink-2); font-size:15px; font-weight:600; line-height:1.5; cursor:pointer; transition:background .18s,color .18s,border-color .18s;}
   .lab-selbtn:hover{color:var(--point); border-color:var(--point-line);}
   .lab-selbtn i{font-size:12px; margin-right:7px; color:var(--point);}
   
   @media (max-width:900px) {
       .lab-mb-grid{gap:24px;}
       .lab-mb-card{grid-template-columns:minmax(0,1fr); gap:22px; padding:26px 24px;}
       .lab-mb-card .phbox{width:auto; max-width:180px;}
       .lab-mb-card .info{grid-column:1; grid-row:2;}
       .lab-mb-card .info:before,.lab-mb-card .info:after{display:none;}
       .lab-mb-card .nm{font-size:26px; line-height:1.2;}
       .lab-mb-card .ct li{font-size:15.5px;}
       .lab-mb-card .foot{padding-top:16px;}
       .lab-mb-card .foot .rf{margin-left:0; width:100%;}
       .mb2-bar{gap:14px;}
       .rf-lg{gap:10px;}
       .rf-lg .lg{height:46px; padding-right:14px; gap:8px;}
       .rf-lg .lg em{font-size:14px;}
       .rf-i{width:46px; height:46px; border-radius:12px;}
       .rf-i img{max-width:26px; max-height:26px;}
   }
   
   @media (max-width:620px) {
       .lab-mb-foot{align-items:stretch; gap:14px;}
       .lab-mb-foot .lft,.lab-mb-foot .rgt{width:100%;}
       .lab-mb-foot .rgt{justify-content:flex-end; margin-left:0;}
   }
   
   
   /* ============================================================
      MEMBER VIEW — 프로필 상세
      ============================================================ */
   
   .mbv-hero{
       --mbv-max:1500px;
       --mbv-w:min(var(--mbv-max),calc(100vw - var(--pad) * 2));
       --mbv-side:max(var(--pad),calc((100vw - var(--mbv-max)) / 2));
       --mbv-split:calc((100vw - var(--mbv-w)) / 2 + var(--mbv-w) * 0.42);
       --mbv-pt:70px;
       position:relative;
       display:grid;
       grid-template-columns:42% minmax(0,1fr);
       align-items:start;
       width:100vw;
       margin:22px calc(50% - 50vw) 30px;
       padding:var(--mbv-pt) var(--mbv-side) 74px;
       border-bottom:1px solid #edeff3;
       background:linear-gradient(90deg,#f6f7f8 0 var(--mbv-split),#fff var(--mbv-split));
   }
   .mbv-hero.noimg{grid-template-columns:minmax(0,1fr); background:#fff;}
   .mbv-hero > *{position:relative; z-index:1;}
   
   .mbv-side{position:relative; align-self:stretch; justify-self:end; width:min(100%,310px); margin-right:clamp(34px,6.4vw,110px);}
   /* 세로 영문명 워터마크 */
   .mbv-side .mbv-wm{position:absolute; z-index:0; right:100%; top:0; max-height:100%; overflow:hidden; margin-right:20px; writing-mode:vertical-rl; transform:rotate(180deg); transform-origin:center; font-size:clamp(38px,4.1vw,84px); font-weight:800; letter-spacing:.02em; line-height:1.4; color:#e0e3e9; white-space:nowrap; pointer-events:none;}
   .mbv-photo{position:relative; width:100%;}
   .mbv-photo .fr{width:100%; padding-top:126%; border-radius:12px; background-color:#e9f1fa; background-size:cover; background-position:50% 15%; background-repeat:no-repeat; box-shadow:0 16px 34px rgba(11,34,80,.14),0 3px 8px rgba(11,34,80,.06);}
   
   .mbv-body{position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; align-self:stretch; min-width:0; padding-left:clamp(30px,5.2vw,85px);}
   .mbv-hero.noimg .mbv-body{padding-left:0;}
   .mbv-body > *{position:relative; z-index:1;}
   
   .mbv-badge{align-self:flex-start; display:inline-flex; align-items:center; padding:9px 18px; border-radius:10px; background:var(--point); color:#fff; font-size:15px; font-weight:700; line-height:1.3;}
   
   .mbv-nmrow{display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 20px; width:100%; margin:18px 0 4px; padding-bottom:26px; border-bottom:1px solid #e8eaee;}
   .mbv-nm{margin:0; font-size:clamp(38px,3.6vw,54px); font-weight:800; line-height:1.12; letter-spacing:-.035em; color:#0b2a5e;}
   .mbv-en{display:block; margin:0; font-size:24px; font-weight:500; color:#77808f;}
   .mbv-en em{font-style:normal; margin-right:7px; font-weight:600; color:#98a0ac;}
   
   .mbv-int .tt{display:block; margin-bottom:10px; font-size:15px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#8a90a0;}
   .mbv-tags{display:flex; flex-wrap:wrap; gap:8px;}
   .mbv-tags span{display:inline-flex; align-items:center; padding:8px 16px; border:1px solid #dfe4ec; border-radius:9px; background:#f4f6fa; color:#22355c; font-size:15px; font-weight:500; line-height:1.4; transition:border-color .2s;}
   .mbv-tags span:hover{border-color:#b9c8dc;}
   
   .mbv-meta{display:flex; flex-direction:column; flex-wrap:wrap; width:100%; gap:10px;}
   .mbv-meta .mi{flex:0 1 auto; min-width:0; max-width:100%; padding:16px 20px; border:1px solid #e6e9ee; border-radius:12px; background:#fafbfc;}
   .mbv-meta .mi .tt{display:flex; align-items:center; gap:7px; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#5b6c88;}
   .mbv-meta .mi .tt i{font-size:12px; opacity:.85;}
   .mbv-meta .mi p{margin:7px 0 0; font-size:18px; font-weight:600; line-height:1.55; color:#1f2a40;}
   .mbv-meta .rf-lg{gap:10px; margin-top:10px;}
   
   /* 연락처 */
   .mbv-ct{margin-top:28px;}
   .mbv-ct .tt{display:block; margin-bottom:11px; font-size:16px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#8a90a0;}
   .mbv-ct ul{display:flex; flex-direction:column; gap:7px; margin:0; padding:0; list-style:none;}
   .mbv-ct li{display:flex; align-items:center; gap:11px; min-width:0; padding:13px 17px; border:1px solid #e6e9ee; border-radius:12px; background:#fbfdff; transition:border-color .2s,background .2s;}
   .mbv-ct li:hover{background:#fff; border-color:#c3d0e2;}
   .mbv-ct li > i{flex:none; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:9px; background:#fff; color:#1b4ca0; font-size:16px;}
   .mbv-ct li a,
   .mbv-ct li .v{min-width:0; font-size:17px; font-weight:600; color:#1f2a40;}
   .mbv-ct li a:hover{color:var(--accent); text-decoration:underline;}
   .mbv-ct li .cp{flex:none; margin-left:auto; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border:1px solid #e4edf8; border-radius:9px; background:#fff; color:var(--ink-3); font-size:13px; cursor:pointer; transition:color .2s,background .2s,border-color .2s;}
   .mbv-ct li .cp:hover{color:var(--accent); border-color:var(--point-line);}
   .mbv-ct li .cp.ok{color:#fff; background:var(--accent); border-color:var(--accent);}
   .mbv-ct li .cp.ok i:before{content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900;}
   .mbv-side .mbv-ct{margin-top:24px;}
   .mbv-side .mbv-ct .tt{display:none;}
   .mbv-side .mbv-ct ul{gap:16px;}
   .mbv-side .mbv-ct li{padding:0; border:0; border-radius:0; background:none;}
   .mbv-side .mbv-ct li:hover{background:none;}
   .mbv-side .mbv-ct li a,
   .mbv-side .mbv-ct li .v{flex:1 1 auto; font-size:16px; font-weight:500; line-height:1.45; white-space:normal; overflow-wrap:anywhere; word-break:keep-all;}
   .mbv-side .mbv-ct li .cp{border:0; background:none; color:#b6bcc7;}
   .mbv-side .mbv-ct li .cp:hover{color:var(--accent); background:none;}
   
   .mbv-links{display:flex; flex-wrap:wrap; gap:8px;}
   .mbv-links a{display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; gap:9px; padding:13px 22px; border:1px solid #d9e6f4; border-radius:10px; background:#fff; color:var(--point); font-size:14px; font-weight:700; letter-spacing:.06em; transition:border-color .2s,color .2s,background .2s;}
   .mbv-links a:hover{border-color:var(--accent); color:var(--accent);}
   .mbv-links a i{font-size:13px; opacity:.85;}
   .mbv-links a.pri{padding:13px 26px; border-color:transparent; background:var(--point); color:#fff; letter-spacing:.12em;}
   .mbv-links a.pri:hover{background:var(--point-dark); color:#fff;}
   .mbv-links a.pri .ar{font-size:11px;}
   
   /* --- 하단 섹션 (학력 / 경력 / 수상 …) --- */
   .lab-mbv-sec{display:grid; grid-template-columns:minmax(170px,250px) minmax(0,1fr); gap:0 54px; padding:52px var(--pad); border-bottom:1px solid var(--line-2); scroll-margin-top:80px;}
   .lab-mbv-sec .hd{position:sticky; top:20px; align-self:start; display:flex; flex-direction:column; align-items:flex-start;}
   .lab-mbv-sec .hd:before{content:""; display:block; width:34px; height:3px; margin-bottom:15px; border-radius:2px; background:linear-gradient(90deg,var(--accent),var(--cyan));}
   .lab-mbv-sec .hd .tt{display:block; font-size:27px; font-weight:800; line-height:1.25; letter-spacing:.02em; color:#0b2a5e;}
   .lab-mbv-sec .hd .ko{display:block; margin-top:7px; font-size:22px; font-weight:500; color:var(--ink-3);}
   .lab-mbv-sec .bd{display:flex; flex-direction:column; min-width:0;}
   .lab-mbv-sec .bd.tl{position:relative;}
   .lab-mbv-sec .bd.tl:before{content:""; position:absolute; left:118px; top:20px; bottom:20px; width:1px; background:linear-gradient(180deg,rgba(47,127,212,.34),rgba(47,127,212,.08));}
   .lab-mbv-sec .row{display:grid; gap:20px; padding:13px 0;}
   .lab-mbv-sec .bd.tl .row{position:relative; grid-template-columns:100px minmax(0,1fr); gap:0 42px; padding:14px 0;}
   .lab-mbv-sec .bd.tl .row:before{content:""; position:absolute; left:114px; top:23px; width:9px; height:9px; border-radius:50%; background:#fff; border:2px solid var(--accent); box-shadow:0 0 0 3px rgba(47,127,212,.13); transition:background .25s,transform .25s;}
   .lab-mbv-sec .bd.tl .row:hover:before{background:var(--accent); transform:scale(1.18);}
   .lab-mbv-sec .row .h{display:block; padding-top:2px; font-size:15px; font-weight:700; letter-spacing:.02em; color:var(--accent);}
   .lab-mbv-sec .row .b{font-size:17px; font-weight:500; line-height:1.7; color:#3d4a63;}
   .lab-mbv-sec .row .b a{color:#3f4d68; border-bottom:1px solid transparent;}
   .lab-mbv-sec .row .b a:hover{color:var(--accent); border-bottom-color:var(--accent);}
   .lab-mbv-sec .row .b .src{display:block; margin-top:4px; font-size:15px; color:var(--ink-3);}
   .lab-mbv-sec .row .b .ptype{display:inline-block; vertical-align:2px; margin-right:9px; padding:2px 9px; border-radius:999px; font-style:normal; font-size:11px; font-weight:800; letter-spacing:.05em; white-space:nowrap;}
   .lab-mbv-sec .row .b .ptype.pt-j{background:var(--point-tint); color:var(--point);}
   .lab-mbv-sec .row .b .ptype.pt-c{background:#e7f4ec; color:#1d7a48;}
   .lab-mbv-con{font-size:16px; line-height:1.8; color:#3f4d68;}
   .lab-mbv-con p{margin:0 0 13px;}
   .lab-mbv-con img{max-width:100%; height:auto; border-radius:12px;}
   
   .lab-mbv-btns{margin:34px var(--pad) 0;}
   .lab-mbv-pn{margin:26px var(--pad) 0;}
   .lab-pn{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px;}
   .lab-pn a{display:flex; flex-direction:column; gap:8px; min-width:0; max-width:100%; padding:22px 26px; border-radius:16px; background:var(--bg); color:var(--ink);}
   .lab-pn a:hover{background:var(--point-tint); color:var(--ink);}
   .lab-pn a.next{text-align:right;}
   .lab-pn .k{font-size:12px; font-weight:800; letter-spacing:.1em; color:var(--ink-3);}
   .lab-pn .k i{font-size:11px;}
   .lab-pn .k .fa-arrow-left{margin-right:8px;}
   .lab-pn .k .fa-arrow-right{margin-left:8px;}
   .lab-pn .t{display:block; min-width:0; font-size:17px; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
   
   @media (max-width:1240px) {
       .mbv-side{width:min(100%,250px); margin-right:clamp(24px,3vw,60px);}
       .mbv-side .mbv-wm{margin-right:8px; font-size:clamp(34px,3.8vw,70px);}
       .mbv-nm{font-size:clamp(34px,3.4vw,44px);}
       .mbv-en{font-size:20px;}
   }
   
   @media (max-width:1024px) {
       .mbv-hero{--mbv-pt:48px; padding-bottom:52px;}
       .mbv-side{width:min(100%,240px);}
       .mbv-side .mbv-wm{display:none;}
       .lab-mbv-sec{grid-template-columns:minmax(150px,200px) minmax(0,1fr); gap:0 34px;}
       .lab-mbv-sec .hd .tt{font-size:23px;}
       .lab-mbv-sec .hd .ko{font-size:17px;}
   }
   
   @media (max-width:840px) {
       .mbv-hero{grid-template-columns:minmax(0,1fr); gap:28px; margin-top:16px; padding:32px var(--pad) 38px; background:#fff;}
       .mbv-side{justify-self:center; align-self:auto; width:100%; max-width:280px; margin-right:0;}
       .mbv-body{align-self:auto; justify-content:flex-start; gap:22px; padding-left:0;}
       .mbv-nmrow{gap:2px 12px; margin-top:14px; padding-bottom:20px;}
       .mbv-nm{font-size:32px;}
       .mbv-en{font-size:18px;}
       .mbv-meta .mi{flex:1 1 100%;}
       .mbv-meta .mi p{font-size:17px;}
       .mbv-ct li a,
       .mbv-ct li .v{font-size:17px;}
       .mbv-links a,
       .mbv-links a.pri{flex:1 1 100%;}
       .lab-mb-head{padding:40px 0 0;}
       .lab-mbv-sec{grid-template-columns:minmax(0,1fr); gap:20px; padding:36px var(--pad);}
       .lab-mbv-sec .hd{position:static;}
       .lab-mbv-sec .hd .tt{font-size:22px;}
       .lab-mbv-sec .bd.tl:before{display:none;}
       .lab-mbv-sec .bd.tl .row{grid-template-columns:minmax(0,1fr); gap:5px; padding:13px 0;}
       .lab-mbv-sec .bd.tl .row:before{display:none;}
       .lab-mbv-sec .bd.tl .row + .row{border-top:1px dashed #eaf0f8;}
       .lab-mbv-sec .row .h,
       .lab-mbv-sec .row .b{font-size:16px;}
       .lab-pn{grid-template-columns:minmax(0,1fr);}
   }
   
   
   /* ============================================================
      글쓰기 (lab_write_form.php)
      ============================================================ */
   
   .lab-w{padding:56px var(--pad) 96px;}
   .lab-w-tophead{display:flex; justify-content:space-between; align-items:center; padding-bottom:16px; border-bottom:2px solid var(--ink);}
   .lab-w-tophead .opt{display:flex; align-items:center; gap:8px; font-size:14.5px; 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:13px; 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; padding:10px 0; border-bottom:1px solid var(--line-2);}
   .lab-w-row.top{align-items:start;}
   .lab-w-row > label,.lab-w-row > .lab-w-label{display:flex; align-items:center; gap:4px; padding:0 18px; font-size:16px; font-weight:700; color:var(--ink);}
   .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:13px 16px; border:1px solid var(--line); border-radius:8px; font-size:16px; background:#fff; color:var(--ink);}
   .lab-w-input.w260{max-width:260px;}
   .lab-w-select{width:220px; padding:13px 15px; border:1px solid var(--line); border-radius:8px; font-size:16px; background:#fff; color:var(--ink-2);}
   .lab-w-help{display:block; margin-top:6px; font-size:14px; color:var(--ink-3);}
   .lab-w-chk{display:flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; color:var(--ink-2); cursor:pointer;}
   .lab-w-chk input{width:17px; height:17px;}
   .lab-w-editor{border:1px solid var(--line); border-radius:10px; overflow:hidden;}
   .lab-w-editor textarea{width:100%; height:220px; padding:16px; border:none; font-size:16px; resize:vertical;}
   .lab-w-hiddenfiles{display:none;}
   .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:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink-2); font-size:15px; font-weight:600; cursor:pointer;}
   .lab-w-cancel:hover{color:var(--ink);}
   .lab-w-submit{padding:12px 34px; border:none; border-radius:8px; background:var(--point); color:#fff; font-size:15px; font-weight:700; cursor:pointer; box-shadow:0 4px 14px rgba(15,37,87,.25);}
   .lab-w-submit:hover{background:var(--point-dark);}
   
   /* --- 연구분야 다중 선택 --- */
   .lab-checks{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
   .lab-checks .ck{position:relative; display:inline-flex; align-items:center; gap:10px; height:54px; padding-right:18px; border-radius:14px; cursor:pointer;}
   .lab-checks .ck:before{content:""; position:absolute; inset:0; border-radius:14px; background:var(--ck,#404660); opacity:.08; transition:opacity .2s;}
   .lab-checks .ck.on:before{opacity:.18;}
   .lab-checks .ck input{position:absolute; opacity:0; width:0; height:0;}
   .lab-checks .ck .ic{position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; flex:none; width:54px; height:54px; border:3px solid #c9cfd9; border-radius:14px; background:#404660; transition:border-color .2s,box-shadow .2s;}
   .lab-checks .ck.on .ic{border-color:var(--ck,#404660); box-shadow:2px 1px 4.5px rgba(0,0,0,.14);}
   .lab-checks .ck .ic img{width:auto; height:auto; max-width:32px; max-height:32px; object-fit:contain; opacity:.5; transition:opacity .2s;}
   .lab-checks .ck.on .ic img{opacity:1;}
   .lab-checks .ck .nm{position:relative; z-index:1; font-size:16px; font-weight:600; color:var(--ink-3); transition:color .2s;}
   .lab-checks .ck.on .nm{color:#222;}
   .lab-checks .ck:has(input:focus-visible){outline:2px solid var(--accent); outline-offset:2px;}
   
   /* --- 색상 팔레트 / 인물 선택기 --- */
   .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; font-size:13px; font-weight:600; color:var(--ink-2); cursor:pointer; 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{flex:none; width:18px; height:18px; border:1px solid rgba(20,24,40,.14); border-radius:50%; background:var(--point);}
   .lab-palette .pl.on{border-color:var(--point); color:var(--point); box-shadow:0 0 0 3px var(--point-tint);}
   .lab-people{display:none; margin-top:8px; padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:var(--bg);}
   .lab-people.open{display:block;}
   .lab-people .pg-title{margin:8px 0 6px; font-size:12px; font-weight:800; letter-spacing:.1em; color:var(--ink-3);}
   .lab-people .pg-title:first-child{margin-top:0;}
   .lab-people .plist{display:flex; gap:6px; flex-wrap:wrap;}
   .lab-people .p{padding:5px 13px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:13px; font-weight:600; color:var(--ink-2); 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_write.js) --- */
   .lab-dz{display:flex; flex-direction:column; align-items:center; gap:8px; padding:30px; border:1.5px dashed var(--point-line); border-radius:10px; background:var(--bg); cursor:pointer; transition:border-color .15s,background .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:14px; color:var(--ink-3);}
   .lab-dz-files{display:flex; flex-direction:column; gap:10px;}
   .lab-dz-item{display:flex; align-items:center; gap:12px; padding:10px 14px; border:1px solid var(--line); border-radius:8px; background:#fff;}
   .lab-dz-item .ext{flex:none; display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:6px; background:var(--point-tint); color:var(--point); font-size:10.5px; font-weight:800;}
   .lab-dz-item .nm{flex:1; min-width:0; font-size:13.5px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
   .lab-dz-item .sz{font-size:12px; color:var(--ink-3); white-space:nowrap;}
   .lab-dz-item .desc{padding:7px 11px; border:1px solid var(--line); border-radius:6px; font-size:13px;}
   .lab-dz-item .rm{width:26px; height:26px; border:none; border-radius:5px; background:transparent; color:var(--ink-3); cursor:pointer;}
   .lab-dz-item .rm:hover{background:var(--line-2); color:#e5484d;}
   .lab-dz-item label{display:flex; align-items:center; gap:5px; font-size:12.5px; color:var(--ink-3); cursor:pointer;}
   
   @media (max-width:840px) {
       .lab-w-row{grid-template-columns:1fr;}
       .lab-w-row > label,.lab-w-row > .lab-w-label{padding:6px 8px 0;}
   }
   
   
   /* ============================================================
      댓글 (view_comment.skin.php)
      ============================================================ */
   
   .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{padding:2px 10px; border-radius:999px; background:var(--line-2); font-size:13px; font-weight:700; color:var(--ink-2);}
   .lab-cmt-empty{padding:44px 0; text-align:center; font-size:14px; color:var(--ink-3);}
   .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:14px; font-weight:700; color:var(--ink);}
   .lab-cmt-item .when{font-size:12.5px; color:var(--ink-3);}
   .lab-cmt-item .body{font-size:14.5px; 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{padding:0; border:none; background:none; font-size:12.5px; color:var(--ink-3); cursor:pointer;}
   .lab-cmt-item .cbtns a:hover,.lab-cmt-item .cbtns button:hover{color:var(--point);}
   .lab-cmt-form{margin-top:20px; border:1px solid var(--line); border-radius:12px; overflow:hidden;}
   .lab-cmt-form textarea{width:100%; height:110px; padding:16px; border:none; font-size:14.5px; resize:vertical;}
   .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:7px; font-size:13.5px;}
   .lab-cmt-form .foot{display:flex; justify-content:space-between; align-items:center; padding:10px 14px; border-top:1px solid var(--line); background:var(--bg);}
   .lab-cmt-form .foot label{display:flex; align-items:center; gap:7px; font-size:13.5px; 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:none; border-radius:7px; background:var(--point); color:#fff; font-size:13.5px; font-weight:700; cursor:pointer;}
   .lab-cmt-form .foot .send:hover{background:var(--point-dark);}
   