:root{
  --green:#00c4b4;
  --green-dark:#00a99b;
  --green-deep:#00897e;
  --green-soft:#e8faf8;
  --red:#e64545;
  --text:#1f2329;
  --text-2:#4a5261;
  --muted:#8b95a5;
  --line:#e9edf2;
  --bg:#f5f7fa;
  --card:#ffffff;
  --radius:12px;
  --shadow:0 4px 16px -8px rgba(31,35,41,.12);
}
*{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  /* 防止横向溢出 */
  overflow-x:hidden;
  width:100%;
}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  font-size:14px;
  -webkit-font-smoothing:antialiased;
  /* 防止横向溢出 + 长词换行 */
  overflow-x:hidden;
  width:100%;
  max-width:100%;
  overflow-wrap:break-word;
  word-break:break-word;
}
a{color:inherit;text-decoration:none;}
button,input,select{font-family:inherit;}
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:6px;}

/* ================= 通用按钮 ================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 18px;border-radius:8px;font-size:14px;font-weight:600;
  border:1px solid transparent;cursor:pointer;transition:.2s ease;white-space:nowrap;
  min-width:0;
}
.btn--primary{background:var(--green);color:#fff;}
.btn--primary:hover{background:var(--green-dark);box-shadow:0 6px 16px -6px rgba(0,196,180,.75);}
.btn--ghost{background:#fff;border-color:var(--line);color:var(--text-2);}
.btn--ghost:hover{border-color:var(--green);color:var(--green-dark);}
.btn--block{width:100%;}

/* ================= 顶部导航 ================= */
.site-header{
  position:sticky;top:0;z-index:50;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 8px -6px rgba(31,35,41,.18);
}
.header-inner{
  max-width:1200px;margin:0 auto;padding:0 20px;
  height:62px;display:flex;align-items:center;gap:22px;
  min-width:0;
}
.logo{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:800;letter-spacing:.5px;flex:0 0 auto;}
.logo-mark{
  width:32px;height:32px;border-radius:9px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--green),var(--green-deep));
  color:#fff;font-size:15px;font-weight:800;
  box-shadow:0 4px 12px -4px rgba(0,196,180,.8);
  flex:0 0 auto;
}
.main-nav{display:flex;gap:4px;min-width:0;}
.main-nav a{
  padding:8px 12px;border-radius:8px;font-size:14px;color:var(--text-2);
  transition:.2s;white-space:nowrap;
}
.main-nav a:hover{color:var(--green-dark);background:var(--green-soft);}
.header-actions{margin-left:auto;display:flex;gap:10px;flex:0 0 auto;}

/* ================= 页面主体 ================= */
.page{
  max-width:1200px;margin:0 auto;padding:22px 20px 60px;
  min-width:0;
}

/* 搜索条 */
.searchbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:12px 14px;margin-bottom:18px;
  box-shadow:var(--shadow);
  min-width:0;
}
.searchbar .field{
  flex:1 1 260px;display:flex;align-items:center;gap:8px;
  padding:0 12px;border:1px solid var(--line);border-radius:8px;
  background:#fafbfc;transition:.2s;min-width:0;
}
.searchbar .field:focus-within{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(0,196,180,.12);}
.searchbar .field input{
  flex:1;min-width:0;border:none;background:transparent;outline:none;
  font-size:14px;color:var(--text);padding:10px 0;width:100%;
}
.searchbar .field input::placeholder{color:#adb5c2;}
.searchbar .field .ico{color:var(--muted);font-size:15px;flex:0 0 auto;}
.searchbar select{
  flex:0 0 auto;border:1px solid var(--line);border-radius:8px;
  background:#fafbfc;color:var(--text-2);font-size:14px;
  padding:10px 12px;outline:none;cursor:pointer;transition:.2s;
  min-width:0;max-width:100%;
}
.searchbar select:focus{border-color:var(--green);}
.searchbar .btn{padding:11px 30px;border-radius:8px;flex:0 0 auto;}

/* 两栏布局 */
.columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:20px;
  align-items:start;
  min-width:0;
}
.main-col,
.side-col{min-width:0;}

/* ================= 广告位 ================= */
.ad-slot{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:100%;max-width:100%;
  border:1px dashed #a9e5e0;
  border-radius:var(--radius);
  background:repeating-linear-gradient(135deg,rgba(0,196,180,.035) 0 10px,rgba(0,196,180,.085) 10px 20px);
  color:#5cb8b0;
  font-size:13px;letter-spacing:.6px;
  transition:.2s;
  text-align:center;padding:0 12px;
  min-width:0;
}
.ad-slot:hover{border-color:var(--green);color:var(--green-dark);}
.ad-slot--banner{height:90px;margin-bottom:16px;}
.ad-slot--inline{height:80px;margin:16px 0;}
.ad-tag{
  position:absolute;top:8px;left:10px;
  font-size:11px;letter-spacing:0;
  padding:1px 7px;border-radius:4px;
  background:rgba(0,196,180,.16);color:var(--green-deep);
}

/* ================= 职位列表 ================= */
.list-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;margin-bottom:12px;
  min-width:0;
}
.list-head h2{
  font-size:16px;font-weight:800;margin:0;letter-spacing:.3px;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  min-width:0;
}
.list-head h2::before{
  content:"";width:3px;height:15px;border-radius:2px;
  background:linear-gradient(180deg,var(--green),var(--green-deep));
  flex:0 0 auto;
}
.list-head .count{font-size:13px;color:var(--muted);font-weight:400;}

.jobs{display:flex;flex-direction:column;gap:12px;min-width:0;}

.job{
  display:block;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px 20px;
  transition:.2s ease;
  min-width:0;
}
.job:hover{
  border-color:#a9e5e0;
  box-shadow:0 8px 22px -14px rgba(0,196,180,.65);
  transform:translateY(-2px);
}
.job-head{
  display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;margin-bottom:8px;
  min-width:0;
}
.job-title{
  font-size:16px;font-weight:600;margin:0;line-height:1.45;
  color:var(--text);
  transition:color .2s;
  min-width:0;word-break:break-word;
}
.job:hover .job-title{color:var(--green-deep);}

/* 置顶样式 */
.job-title.is-top{
  color:var(--red);
  font-weight:800;
}
.job:hover .job-title.is-top{color:#c9302c;}
.top-badge{
  flex:0 0 auto;
  font-size:11px;font-weight:700;
  padding:1px 7px;border-radius:4px;
  color:#fff;
  background:linear-gradient(135deg,#ff6a6a,var(--red));
  letter-spacing:.5px;
}

.job-desc{
  margin:0;
  font-size:13.5px;
  color:#6b7280;
  line-height:1.75;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.job-foot{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  margin-top:12px;padding-top:11px;
  border-top:1px dashed var(--line);
  font-size:12.5px;color:var(--muted);
  min-width:0;
}
.job-foot .dot{
  width:3px;height:3px;border-radius:50%;
  background:#d3d9e2;display:inline-block;flex:0 0 auto;
}

/* 分页 */
.pager{
  display:flex;justify-content:center;align-items:center;gap:6px;
  margin-top:22px;flex-wrap:wrap;
  min-width:0;
}
.pager a{
  min-width:34px;height:34px;padding:0 10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:8px;
  font-size:13.5px;color:var(--text-2);transition:.2s;
}
.pager a:hover{border-color:var(--green);color:var(--green-dark);}
.pager a.is-active{
  background:var(--green);border-color:var(--green);color:#fff;font-weight:700;
}
.pager .disabled{color:#c3cad4;cursor:not-allowed;}
.pager .disabled:hover{border-color:var(--line);color:#c3cad4;}

/* ================= 右侧栏 ================= */
.side-col{display:flex;flex-direction:column;gap:14px;}

.side-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow);
  min-width:0;
}
.side-title{
  font-size:14px;font-weight:800;margin:0 0 12px;
  display:flex;align-items:center;gap:7px;
  letter-spacing:.3px;
}
.side-title::before{
  content:"";width:3px;height:14px;border-radius:2px;
  background:linear-gradient(180deg,var(--green),var(--green-deep));
  flex:0 0 auto;
}

/* 我要招人 */
.card-hire{
  background:linear-gradient(150deg,#00c4b4,#00a99b 55%,#008f84);
  border:none;
  color:#fff;
  text-align:center;
  padding:20px 16px;
}
.card-hire .side-title{color:#fff;justify-content:center;}
.card-hire .side-title::before{background:rgba(255,255,255,.9);}
.card-hire p{
  font-size:12.5px;margin:0 0 14px;
  color:rgba(255,255,255,.88);line-height:1.7;
}
.card-hire .btn{
  background:#fff;color:var(--green-deep);font-weight:800;
  border:none;
}
.card-hire .btn:hover{background:#f0fffd;box-shadow:0 8px 18px -8px rgba(0,0,0,.35);}

/* 热门搜索 */
.hot-tags{display:flex;flex-wrap:wrap;gap:8px;}
.hot-tags a{
  font-size:12.5px;padding:5px 12px;border-radius:999px;
  background:#f4f7f9;color:#5b6474;
  border:1px solid transparent;
  transition:.2s;
}
.hot-tags a:hover{
  background:var(--green-soft);
  color:var(--green-deep);
  border-color:#a9e5e0;
}

/* 防骗提醒 */
.card-tips{background:#fffdf5;border-color:#ffe9b8;}
.card-tips .side-title::before{background:linear-gradient(180deg,#ffc53d,#f5a623);}
.card-tips ul{margin:0;padding:0;list-style:none;}
.card-tips li{
  position:relative;padding-left:20px;
  font-size:12.8px;color:#7a6a45;line-height:1.85;
}
.card-tips li::before{
  content:"!";
  position:absolute;left:0;top:5px;
  width:14px;height:14px;border-radius:50%;
  background:#ffd666;color:#8a6d1f;
  font-size:10px;font-weight:800;
  display:grid;place-items:center;
}

/* 客服 */
.service-list{margin:0;padding:0;list-style:none;}
.service-list li{
  display:flex;align-items:flex-start;gap:9px;
  padding:8px 0;font-size:13px;color:var(--text-2);
  border-bottom:1px dashed var(--line);
  min-width:0;
}
.service-list li:last-child{border-bottom:none;padding-bottom:0;}
.service-list li:first-child{padding-top:0;}
.service-list .label{
  flex:0 0 66px;color:var(--muted);font-size:12.5px;
}
.service-list .val{font-weight:600;color:var(--text);word-break:break-all;min-width:0;}
.service-list .val.hot{color:var(--green-deep);font-weight:800;font-size:14.5px;letter-spacing:.3px;}
.service-list .sub{display:block;font-size:11.5px;color:var(--muted);font-weight:400;margin-top:1px;}
.service-note{
  margin:12px 0 0;padding-top:11px;
  border-top:1px solid var(--line);
  font-size:11.5px;color:var(--muted);line-height:1.7;
}

/* ================= 底部 ================= */
.site-footer{
  background:#fff;
  border-top:1px solid var(--line);
  margin-top:20px;
  min-width:0;
}

/* 友情链接 */
.friend-links{
  border-bottom:1px solid var(--line);
  background:#fafbfc;
}
.friend-inner{
  max-width:1200px;margin:0 auto;padding:16px 20px;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 0;
  min-width:0;
}
.friend-label{
  flex:0 0 auto;font-size:13px;font-weight:800;color:var(--text);
  margin-right:14px;
}
.friend-inner a{
  font-size:12.8px;color:var(--muted);
  padding:0 12px;
  border-right:1px solid #e3e8ee;
  line-height:1.4;
  transition:.2s;
  white-space:nowrap;
}
.friend-inner a:last-child{border-right:none;}
.friend-inner a:hover{color:var(--green-dark);}

/* 页脚主体 */
.footer-main{
  max-width:1200px;margin:0 auto;padding:30px 20px 26px;
  display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;
  min-width:0;
}
.footer-brand{max-width:330px;min-width:0;}
.footer-brand .logo{margin-bottom:12px;}
.footer-brand p{
  margin:0;font-size:12.8px;color:var(--muted);line-height:1.9;
}
.footer-cols{display:flex;flex-wrap:wrap;gap:12px 56px;min-width:0;}
.footer-col h4{
  font-size:13.5px;margin:0 0 10px;color:var(--text);
  font-weight:800;letter-spacing:.3px;
}
.footer-col a{
  display:block;font-size:12.8px;color:var(--muted);
  padding:3px 0;transition:.2s;
}
.footer-col a:hover{color:var(--green-dark);}

.copyright{
  border-top:1px solid var(--line);
  background:#fafbfc;
}
.copyright-inner{
  max-width:1200px;margin:0 auto;padding:16px 20px;
  display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;
  font-size:12px;color:#9aa3b0;
  min-width:0;
}

/* ================= 响应式 ================= */
@media (max-width:1024px){
  .columns{grid-template-columns:minmax(0,1fr);}
  .side-col{
    display:grid;
    /* 用 min() 防止在极窄屏溢出 */
    grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
    gap:14px;
    align-items:start;
  }
}
@media (max-width:820px){
  .main-nav{display:none;}
  .header-inner{gap:12px;}
}
@media (max-width:640px){
  .header-inner{height:56px;padding:0 14px;gap:10px;}
  .logo{font-size:16px;}
  .logo-mark{width:28px;height:28px;font-size:13px;border-radius:8px;}
  .header-actions .btn--ghost{display:none;}
  .page{padding:16px 14px 46px;}

  .searchbar{padding:10px;gap:8px;}
  .searchbar .field{flex:1 1 100%;}
  .searchbar select{flex:1 1 0;min-width:0;}
  .searchbar .btn{flex:1 1 100%;}

  .job{padding:15px 16px;}
  .job-title{font-size:15px;}
  .job-foot{gap:12px;font-size:12px;}

  /* 侧栏在手机端变单列 */
  .side-col{grid-template-columns:minmax(0,1fr);}

  .footer-main{padding:24px 14px 22px;gap:22px;}
  .footer-cols{gap:16px 40px;}
  .friend-inner{padding:14px;}
  .friend-inner a{padding:0 9px;font-size:12.5px;}
  .copyright-inner{padding:14px;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
  html{scroll-behavior:auto;}
}