/* 1. 重置全局，移除会加厚字体的font-synthesis:none */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* 删除 font-synthesis:none，Windows渲染不会强行变粗 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  font-size: 14px;
}

/* 2. 全局强制基础文字为400细体，切断粗体继承 */
body {
  font-family: "Gilroy", system-ui, -apple-system, sans-serif;
  font-weight: 400 !important;
  font-size: 1rem;
  line-height: 1.45;
  letter-spacing: 0.05px;
  text-rendering: optimizeLegibility;
}

/* 3. 彻底重置所有自带粗体标签，全部强制400细 */
h1,h2,h3,h4,h5,h6,b,strong {
  font-weight: 400 !important;
}

/* 4. Gilroy标准权重映射，一一对应文件，杜绝浏览器合成加粗 */
@font-face{
  font-family:'Gilroy';
  src:url('../font/Gilroy-Regular.woff') format('woff');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Gilroy';
  src:url('../font/Gilroy-Medium.woff') format('woff');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Gilroy';
  src:url('../font/Gilroy-SemiBold.woff') format('woff');
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

/* ========== 下方你原有业务样式全部保留，仅增加强制400权重 ========== */
.modal-header .btn-close{width:20px!important;height:20px!important;opacity:1;border:0;background:transparent;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");background-size:1em;background-repeat:no-repeat;font-weight:400;}
#prevBtn,#nextBtn{width:30px!important;height:20px!important;border-radius:0!important;background:transparent!important;border:none!important;color:#fff!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center;transition:all .25s ease;font-weight:400;}
#prevBtn:hover,#nextBtn:hover{background:transparent!important;color:#d92121!important}
.page-text{font-size:11px!important;color:#999!important;font-weight:400;letter-spacing:0.05px;}
.modal #testListBox label,#testListBox label{color:#999!important;font-weight:400;letter-spacing:0.05px;}
.drawer-wrap{box-shadow:-2px 0 8px rgba(0,0,0,.3)}
.text-xs{font-size:.7rem!important;font-weight:400;letter-spacing:0.05px;}
.form-select.bg-transparent{color:#999!important;font-weight:400;letter-spacing:0.05px;}
.form-select.bg-transparent option{background:#222;color:#999!important;font-weight:400;letter-spacing:0.05px;}
.search-input-wrap{position:relative;width:100%;margin-bottom:0}
.search-input-wrap::before{content:"\2315";position:absolute;left:10px;top:30%;transform:translateY(-50%);color:#999;font-size:30px;pointer-events:none;padding:0}
.search-test-input{width:100%;height:25px;padding:10px 0 15px 35px!important;border:none!important;border-bottom:1px solid #666!important;background:transparent!important;color:#999!important;outline:none!important;box-shadow:none!important;transition:border-color .5s ease;margin-top:30px!important;font-weight:400;letter-spacing:0.05px;}
.search-test-input:focus{background:transparent!important;border-bottom-color:#fff!important;color:#999!important}
.exp-name-input{margin-bottom:0!important;width:100%;font-size:18px!important;padding:6px 0;border:none!important;border-bottom:1px solid #666!important;background:transparent!important;color:#ff0808!important;outline:none!important;box-shadow:none!important;transition:border-color .2s ease;font-weight:400;letter-spacing:0.05px;}
.exp-name-input:focus{background:transparent!important;border-bottom-color:#fff!important;color:#ff0808!important}
.step-name-input{width:calc(100%)!important;flex-grow:unset!important;margin-right:0!important;padding:6px 0;font-size:16px!important;border:none!important;border-bottom:1px solid #666!important;background:transparent!important;color:#ff0808!important;outline:none!important;box-shadow:none!important;transition:border-color .2s ease;font-weight:400;letter-spacing:0.05px;}
.step-name-input:focus{background:transparent!important;border-bottom-color:#fff!important;color:#ff0808!important}
.common-text-input{width:100%;padding:6px 0;border:none;border-bottom:1px solid #666;background:transparent!important;color:#999!important;outline:none;transition:border-color .2s ease;font-weight:400;letter-spacing:0.05px;}
.common-text-input:focus{background:transparent!important;border-bottom-color:#fff;color:#999!important}
#testDrawer{color:#999!important;font-weight:400;letter-spacing:0.05px;}
#testDrawer *{color:#999!important;font-weight:400;letter-spacing:0.05px;}
.step-edit-area{color:#999!important;font-size:12px!important;font-weight:400;letter-spacing:0.05px;}
.step-edit-area *{color:#999!important;font-size:12px!important;padding-left:0!important;font-weight:400;letter-spacing:0.05px;}
.testItemContainer{margin-top:10px;margin-left:40px!important;display:flex;flex-direction:column;gap:6px;font-size:14px!important;font-weight:400;letter-spacing:0.05px;}
#experimentFlowWrap{position:relative!important;background:rgba(0,0,0,.2);color:#fff;padding:0;border-radius:12px;font-family: "Gilroy", system-ui, -apple-system, sans-serif;width:100%;box-sizing:border-box;margin-top:16px;max-height:65vh;height:65vh;overflow:hidden;display:flex;align-items:stretch!important;font-weight:400;letter-spacing:0.05px;}
#experimentFlowWrap:has(.flow-empty){display:none!important}
.flow-inner-row{width:100%;height:100%;display:flex;min-height:0!important;align-items:stretch}
.flow-left-content{padding:50px;overflow-y:auto!important;overflow-x:hidden!important;flex:1 1 auto;min-width:0!important;min-height:0!important;height:100%!important;max-height:65vh!important;transition:all .3s ease;scrollbar-width:thin;scrollbar-color:#bbb transparent;font-weight:400;letter-spacing:0.05px;}
.flow-left-content::-webkit-scrollbar{width:8px!important;display:block!important;padding-bottom:60px!important}
.flow-left-content::-webkit-scrollbar-track{background:transparent;border-radius:10px;margin:8px 0}
.flow-left-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:10px;transition:background .2s ease}
.flow-left-content::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}
#testDrawer{height:100%;background:rgba(34,34,34,.95);overflow-y:auto;overflow-x:hidden;flex-shrink:0;position:relative;z-index:99;border-left:none;transition:width .3s ease;width:0}
#testDrawer.open-drawer{width:400px}
#testDrawer.drawer-collapsed{width:14px}
#testDrawer.drawer-collapsed .drawer-inner-content{visibility:hidden;pointer-events:none}
.drawer-toggle-btn{position:absolute;left:0;top:50%;transform:translateY(-50%);width:14px;height:48px;background:#444;border:none;color:#fff!important;cursor:pointer;z-index:10000;display:flex;align-items:center;justify-content:center;border-radius:3px 0 0 3px;font-size:10px;font-weight:400;letter-spacing:0.05px;}
#testDrawer.open-drawer .drawer-toggle-btn{content:"◀"}
#testDrawer.drawer-collapsed .drawer-toggle-btn,#testDrawer:not(.open-drawer):not(.drawer-collapsed) .drawer-toggle-btn{content:"▶"}
.drawer-toggle-btn:hover{background:#666}
.drawer-inner-content{width:400px;padding:10px 12px 10px 20px;box-sizing:border-box;font-weight:400;letter-spacing:0.05px;}
.flow-title{font-size:18px;font-weight:500;margin-bottom:24px;color:#fff;letter-spacing:0.05px}
.flow-step{position:relative;padding-left:48px;margin-bottom:28px;letter-spacing:0.05px;font-weight:400}
.flow-step-dot{position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:#fff;color:#333;border:2px solid #bbb;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:400;z-index:2;letter-spacing:0.05px;}
.flow-step-title{font-size:15px;font-weight:400;margin-bottom:12px;color:#ff0808;letter-spacing:0.05px;}
.flow-item-list{margin:0;padding-left:30px;list-style:none;color:#9d9c9c!important;font-weight:400;letter-spacing:0.05px;}
.flow-item-list li{position:relative;padding-left:22px;margin-bottom:10px;font-size:14px;color:#c5c4c4;line-height:1.6;font-weight:400;letter-spacing:0.05px;}
.flow-item-list li::after{content:"▸";position:absolute;left:8px;top:0;color:#c5c4c4;font-size:14px;font-weight:400;letter-spacing:0.05px;}
.flow-line{position:absolute;left:11px;top:26px;bottom:-28px;width:2px;background:#bbb}
.flow-step:last-child .flow-line{display:none}
.flow-empty{color:#999;padding:26px 0;text-align:center;font-size:14px;font-weight:400;letter-spacing:0.05px;}
body [data-anchor="Projects"].vlt-section{height:inherit!important;min-height:inherit!important;font-weight:400;letter-spacing:0.05px;}
body [data-anchor="Projects"] .vlt-section__content{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;padding-top:0!important;margin-top:0!important;font-weight:400;letter-spacing:0.05px;}
body [data-anchor="Projects"] .vlt-section__vertical-align{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;padding-top:0!important;padding-block-start:0!important;margin-top:0!important;height:100%;font-weight:400;letter-spacing:0.05px;}
body [data-anchor="Projects"] .vlt-section__content .container-fluid{max-width:1200px;width:92%;margin:150px auto 0 auto;padding-left:12px!important;padding-right:12px!important;font-weight:400;letter-spacing:0.05px;}
[data-anchor="Projects"] label.form-label.text-white{display:none!important}
#expSelect.form-select{font-size:20px!important;padding:18px 18px!important;color:#9d9c9c!important;font-weight:400;letter-spacing:0.05px;}
.form-select.bg-transparent option{background:#2a2929;color:#494545;padding:10px 12px!important;line-height:1.5!important;font-weight:400;letter-spacing:0.05px;}
#expSelect{width:100%;box-sizing:border-box;font-weight:400;letter-spacing:0.05px;}
.flow-icon-bar{position:absolute;right:-52px;top:120px;margin-top:0!important;display:flex;flex-direction:column;gap:14px;z-index:99;font-weight:400;letter-spacing:0.05px;}
.flow-icon-bar button{width:36px;height:36px;background:transparent!important;border:none!important;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s all ease;padding:0;font-weight:400;letter-spacing:0.05px;}
.flow-icon-bar button svg path{fill:#ccc;transition:fill .2s ease}
.flow-icon-bar button:hover svg path{fill:#f61111}
.flow-icon-bar button.active-lock svg path{fill:#ff0808!important}
.flow-icon-bar button svg{display:block}
@media(max-width:1200px){
.flow-icon-bar{right:-44px;top:54px;margin-top:0!important;font-weight:400;letter-spacing:0.05px;}
.flow-icon-bar button{width:32px;height:32px;font-weight:400;letter-spacing:0.05px;}
.flow-icon-bar button svg{width:22px;height:22px}
}
@font-face{font-family:'icomoon';src:url('fonts/icomoon.eot?asf368');src:url('fonts/icomoon.eot?asf368#iefix') format('embedded-opentype'),url('fonts/icomoon.ttf?asf368') format('truetype'),url('fonts/icomoon.woff?asf368') format('woff'),url('fonts/icomoon.svg?asf368#icomoon') format('svg');font-weight:normal;font-style:normal;font-display:block}
[class^="icon-"],[class*=" icon-"]{font-family:'icomoon'!important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.icon-floppy-disk:before{content:"\e962"}
.icon-pushpin:before{content:"\e946"}
.icon-pencil2:before{content:"\e906"}
.icon-bin:before{content:"\e9ac"}
.icon-file-empty:before{content:"\e924"}
#mainCanvasBox{display:none!important;border:0!important;overflow:visible;font-weight:400;letter-spacing:0.05px;}
#mainCanvasBox .mb-3:has(input[placeholder="填写实验名称"]){display:none!important}
#experimentFlowWrap.focus-active{box-shadow:0 0 0 0 #ff0808}
.flow-icon-bar button.focus-active svg path{fill:#ff0808!important}
body.focus-flow-lock{overflow:hidden!important;font-weight:400;letter-spacing:0.05px;}
body.focus-flow-lock .vlt-fullpage-slider{pointer-events:none!important;font-weight:400;letter-spacing:0.05px;}
body.focus-flow-lock [data-anchor="Projects"] *{pointer-events:auto!important;font-weight:400;letter-spacing:0.05px;}
body.focus-flow-lock #experimentFlowWrap{pointer-events:auto!important;font-weight:400;letter-spacing:0.05px;}
.step-item{border-bottom:none!important;padding-bottom:0!important;font-weight:400;letter-spacing:0.05px;}
.form-check-label{white-space:nowrap;font-weight:400;letter-spacing:0.05px;}
.pickTestBtn{background:transparent!important;border:none!important;padding:4px 8px!important;font-weight:400;letter-spacing:0.05px;}
.del-step{color:#999!important;background:transparent!important;border:none!important;font-weight:400;letter-spacing:0.05px;}
.del-step:hover{color:#d92121!important}
.global-add-step-btn{background:transparent!important;border:none!important;padding:6px 0;margin-top:10px;font-weight:400;letter-spacing:0.05px;}
.big-checkbox{width:15px!important;height:15px!important;margin-right:18px!important}
.form-check-label{white-space:nowrap;gap:35px!important;font-weight:400;letter-spacing:0.05px;}
.test-item{padding:8px 0;font-size:14px!important;cursor:grab;border-bottom:1px solid #333;font-weight:400;letter-spacing:0.05px;}
.test-item:active{cursor:grabbing}
.drop-step.active-drop{background:rgba(255,255,255,.08);border-radius:6px}
.step-item-list{margin-top:10px;padding-left:30px!important;font-weight:400;letter-spacing:0.05px;}
.step-item-row{display:flex;align-items:center;gap:6px;padding:4px 0;font-weight:400;letter-spacing:0.05px;}
.step-item-row input[type="checkbox"]{width:14px;height:14px}
.step-item.active-drop{background:rgba(255,255,255,.08);border-radius:6px}
.step-item-row{display:flex;align-items:center;gap:8px;padding:3px 0;color:#999;font-weight:400;letter-spacing:0.05px;}
.step-item-row input[type="checkbox"]{width:14px;height:14px}
.testItemContainer{margin-top:10px;display:flex;flex-direction:column;gap:6px;font-weight:400;letter-spacing:0.05px;}
#stepWrap,.step-item,.testItemContainer,.step-item-row{transform:translate3d(0,0,0);will-change:contents;pointer-events:auto!important;overflow:visible!important;font-weight:400;letter-spacing:0.05px;}
.vlt-fullpage-slider .vlt-section[data-anchor="Projects"]{transform:translate3d(0,0,0);contain:layout paint size;font-weight:400;letter-spacing:0.05px;}
.del-item-btn:hover{color:#f36!important}
.step-item-row{padding:4px 0;width:100%;font-weight:400;letter-spacing:0.05px;}
#stepWrap{width:100%;box-sizing:border-box;overflow-y:auto!important;overflow-x:hidden;max-height:85vh;font-weight:400;letter-spacing:0.05px;}
.step-name-input{flex:1!important;width:100%!important;min-width:0!important;font-weight:400;letter-spacing:0.05px;}
#testDrawer .test-item{font-size:14px!important;padding:8px 0;cursor:grab;border-bottom:1px solid #333;font-weight:400;letter-spacing:0.05px;}
#testDrawer .test-item:active{cursor:grabbing}
#testDrawer .test-item span{font-size:14px!important;font-weight:400;letter-spacing:0.05px;}
#testDrawer .test-item span:first-child{font-size:14px!important;font-weight:400;letter-spacing:0.05px;}
.global-add-step-btn:hover{cursor:pointer!important}
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;font-weight:400;letter-spacing:0.05px;}
.modal-mask.show{opacity:1;visibility:visible}
.modal-box{background:#fff;border-radius:12px;min-width:320px;max-width:460px;width:90%;padding:24px;transform:scale(.92);transition:transform .28s ease;font-weight:400;letter-spacing:0.05px;}
.modal-mask.show .modal-box{transform:scale(1)}
.modal-title{font-size:18px;font-weight:400;color:#111;margin:0 0 12px;letter-spacing:0.05px;}
.modal-text{font-size:15px;color:#444;line-height:1.6;margin:0 0 24px;font-weight:400;letter-spacing:0.05px;}
.modal-btn-group{display:flex;gap:12px;justify-content:flex-end;font-weight:400;letter-spacing:0.05px;}
.modal-btn{padding:8px 20px;border-radius:6px;border:none;font-size:14px;cursor:pointer;transition:.2s;font-weight:400;letter-spacing:0.05px;}
.modal-btn-cancel{background:#eee;color:#333}
.modal-btn-cancel:hover{background:#ddd}
.modal-btn-confirm{background:#2563eb;color:#fff}
.modal-btn-confirm:hover{background:#1d4ed8}
.modal-btn-danger{background:#dc2626;color:#fff}
.modal-btn-danger:hover{background:#b91c1c}
.trans-input{width:120px;max-width:120px;background:transparent;border:none;border-bottom:1px solid #ccc;color:#fff;flex:none;outline:none;transition:border-color .2s ease;padding:2px 0;font-weight:400;letter-spacing:0.05px;}
.trans-input:focus{border-bottom-color:#f33}
.vlt-form-group[type="textarea"]{background:transparent;color:#fff;border:none;border-bottom:1px solid #ccc;outline:none;transition:border-color .2s ease;font-weight:300;letter-spacing:0.05px;}
.vlt-form-group[type="textarea"]:focus{border-bottom-color:#f33}
body [data-anchor="InfoInput"] .vlt-section__content .container-fluid{max-width:1200px;width:92%;margin:0 auto;padding-left:12px!important;padding-right:12px!important;font-weight:400;letter-spacing:0.05px;}
#petExpSelect.form-select{font-size:20px!important;padding:18px 18px!important;color:#9d9c9c!important;font-weight:400;letter-spacing:0.05px;}
.form-select.bg-transparent option{background:rgba(12,12,12,.95);color:#efefef;padding:10px 12px!important;line-height:1.5!important;font-weight:400;letter-spacing:0.05px;}
#petExpSelect{width:100%;box-sizing:border-box;font-weight:400;letter-spacing:0.05px;}
#petListWrapOuter{border:none!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)!important;font-weight:400;letter-spacing:0.05px;}
#petListBox > div{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent;font-weight:400;letter-spacing:0.05px;}
#petListBox > div::-webkit-scrollbar{width:8px!important;display:block!important}
#petListBox > div::-webkit-scrollbar-track{background:transparent;border-radius:10px;margin:8px 0}
#petListBox > div::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:10px}
#petListBox > div::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}
body.focus-flow-lock [data-anchor="InfoInput"]{pointer-events:auto!important;font-weight:400;letter-spacing:0.05px;}
body.focus-flow-lock [data-anchor="InfoInput"] *{pointer-events:auto!important;z-index:auto!important;font-weight:400;letter-spacing:0.05px;}
body.focus-flow-lock #petListWrapOuter,body.focus-flow-lock #petListWrap,body.focus-flow-lock #petListBox,body.focus-flow-lock #petListBox > div,body.focus-flow-lock #petTableBody,body.focus-flow-lock #petTableBody tr,body.focus-flow-lock #petTableBody td{pointer-events:auto!important;position:relative;z-index:10;font-weight:400;letter-spacing:0.05px;}
body.focus-flow-lock .flow-icon-bar{pointer-events:auto!important;z-index:99;font-weight:400;letter-spacing:0.05px;}
body.focus-flow-lock #petFlowPanel{pointer-events:auto!important;z-index:999;font-weight:400;letter-spacing:0.05px;}
body.focus-flow-lock #petEditDrawer{pointer-events:auto!important;z-index:99;font-weight:400;letter-spacing:0.05px;}
#petListWrapOuter.focus-active{box-shadow:0 0 0 2px rgba(255,120,0,.6)}
body [data-anchor="TestItem"] .vlt-section__content .container-fluid{max-width:1200px;width:92%;margin:0 auto;padding-left:12px!important;padding-right:12px!important;font-weight:400;letter-spacing:0.05px;}
#testItemWrapOuter{width:100%;max-height:65vh;height:65vh;border:none!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)!important;font-weight:400;letter-spacing:0.05px;}
#singleTestForm input,#singleTestForm select,#singleTestForm textarea,#groupTestForm input{background:transparent!important;border:none!important;border-bottom:1px solid #666!important;color:#fff!important;outline:none!important;box-shadow:none!important;transition:border-color .2s ease!important;width:100%;font-weight:400;letter-spacing:0.05px;}
#singleTestForm input:focus,#singleTestForm select:focus,#singleTestForm textarea:focus,#groupTestForm input:focus{border-bottom-color:#f33!important}
#singleTestForm label,#groupTestForm label{display:none!important}
#testItemTableBody tr{cursor:pointer;transition:background .2s ease;font-weight:400;letter-spacing:0.05px;}
#testItemTableBody tr.active-row{background:rgba(255,255,255,.15)!important}
.flow-left-content{padding-bottom:60px!important;font-weight:400;letter-spacing:0.05px;}
#stepAllWrap{padding:10px 16px 50px 16px;font-weight:400;letter-spacing:0.05px;}
input:focus{border-bottom-color:red!important;box-shadow:0 1px 0 red!important}
.vlt-partners{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important;font-weight:400;letter-spacing:0.05px;}
.vlt-partners li{padding-bottom:60px!important;width:auto!important;float:none!important;font-weight:400;letter-spacing:0.05px;}
/* 顶部导航菜单文字样式，控制字号、细体Gilroy */
.vlt-default-menu__navigation .sf-menu > li > a {
    font-family: "Gilroy", system-ui, -apple-system, sans-serif !important;
    font-size: 15px !important; /* 修改数字调整菜单大小 */
    font-weight: 400 !important; /* 强制细体，解决菜单偏粗 */
    letter-spacing: 0.05px;
}
/* 菜单hover悬浮保持细体，不会自动加粗 */
.vlt-default-menu__navigation .sf-menu > li > a:hover {
    font-weight: 400 !important;
}