/* JobTalent AI 官网：沿用招聘系统（Ant Design 5）的视觉——同一个蓝、同样的圆角、系统字体、浅灰分区。
   不用渐变带、倾斜卡片、发光阴影。 */
:root{
  --primary:#1677ff;      /* antd colorPrimary，与系统按钮一致 */
  --primary-hover:#4096ff;
  --primary-bg:#e6f4ff;
  --text:rgba(0,0,0,.88);
  --text-2:rgba(0,0,0,.65);
  --text-3:rgba(0,0,0,.45);
  --border:#d9d9d9;
  --split:#f0f0f0;
  --bg-gray:#f5f5f5;
  --gold:#faad14;          /* antd warning：系统里 ★ 必备项用的颜色 */
  --radius:8px;
  --shadow:0 6px 16px 0 rgba(0,0,0,.08),0 3px 6px -4px rgba(0,0,0,.12),0 9px 28px 8px rgba(0,0,0,.05);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:var(--font);font-size:16px;line-height:1.7;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:860px}
.center{text-align:center;justify-content:center}
h1{font-size:44px;line-height:1.25;font-weight:600}
h2{font-size:30px;line-height:1.35;font-weight:600;margin-bottom:12px}
h3{font-size:20px;line-height:1.4;font-weight:600;margin-bottom:8px}
.l-zh h1{font-size:42px}
.lead{font-size:17px;color:var(--text-2)}
.muted{font-size:14px;color:var(--text-3)}
.eyebrow{font-size:14px;color:var(--primary);margin-bottom:8px}
.lnk-blue{color:var(--primary)}
.lnk-blue:hover{color:var(--primary-hover)}

/* 按钮：antd Button */
.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:var(--radius);border:1px solid var(--border);background:#fff;font-size:15px;color:var(--text);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s,background .2s;box-shadow:0 2px 0 rgba(0,0,0,.02)}
.btn:hover{color:var(--primary-hover);border-color:var(--primary-hover)}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 0 rgba(5,145,255,.1)}
.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}
.btn-lg{height:44px;padding:0 22px;font-size:16px}
.btn-sm{height:32px;padding:0 14px;font-size:14px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 14px}

/* 顶栏：同系统 ProLayout 顶栏 */
.hd{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid var(--split);backdrop-filter:saturate(180%) blur(8px)}
.hd-in{display:flex;align-items:center;gap:32px;height:60px}
.brand{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600}
.brand svg{width:28px;height:28px;flex:none}
.hd-nav{display:flex;gap:28px;font-size:15px;color:var(--text-2)}
.hd-nav a:hover,.hd-nav a[aria-current]{color:var(--primary)}
.hd-nav a,.hd .brand b,.langs a{white-space:nowrap}
@media (max-width:1320px){.hd-nav{gap:18px;font-size:14px}}
@media (max-width:1240px){.hd-nav .nv-x{display:none}}
@media (max-width:1100px){.hd-nav{gap:14px}}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:16px}
/* 语言切换：下拉（6 种语言横着排放不下，手机上更是）。<details> 原生，点页面别处由 build.mjs 里的小脚本收起 */
/* 顶栏右侧各项不换行、不被挤扁；中间导航放不下时按宽度依次收起（帮助 / 更新日志、技术 / 部署，页脚里都有） */
.hd-right>*{flex:none}
/* 三端入口（2026-11-07）：最上面一条细灰条（求职者入口 · 企业服务），头部「登录 ▾」下拉三行 */
.hd-bar{background:#F6F7F9;border-bottom:1px solid var(--split);font-size:12.5px}
.hd-bar-in{display:flex;justify-content:flex-end;gap:20px;min-height:30px;align-items:center}
.hd-bar a{color:var(--text-2);display:inline-flex;align-items:center;min-height:30px}.hd-bar a:hover{color:var(--primary)}
.hd .hd-login summary{border:0;padding:4px 18px 4px 4px;font-size:15px;color:var(--text);height:32px}
.hd .hd-login summary::after{right:4px}
.hd .hd-lm{min-width:260px;padding:6px}.hd .hd-login:not([open]) .hd-lm{display:none}
.hd .hd-login .hd-lm a{display:grid;gap:1px;padding:10px 12px}
.hd-lm b{font-weight:600;color:var(--text);font-size:14px}.hd-lm small{font-size:12.5px;color:var(--text-3)}
.hd-seek .hd-biz{color:var(--text-3)}
@media (max-width:640px){.hd-bar-in{justify-content:center;gap:16px}.hd-bar a{min-height:36px}.hd .hd-login summary{font-size:14px;padding-right:16px;height:44px}
  /* 手机上下拉横跨整屏（left / right 贴屏幕，top 用 auto = 跟着「登录」往下排） */
  .hd .hd-login .hd-lm{position:fixed;left:16px;right:16px;top:auto;margin-top:6px;min-width:0}}
.lnk.login{white-space:nowrap}
/* 导航放不下的项换到第二行、被裁掉（越南语 / 印尼语比中文长很多）：任何语言、任何宽度都不会压到右边的按钮；被裁掉的在页脚里都有 */
.hd-nav{flex:1 1 0;min-width:0;height:60px;overflow:hidden;flex-wrap:wrap;align-content:flex-start;row-gap:0}
.hd-nav a{line-height:60px}
@media (max-width:1160px){.hd-nav .nv-y{display:none}}
.langs{position:relative;font-size:13px}
.langs .fl{display:block;flex:none;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.14)}
.langs summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:6px;padding:4px 24px 4px 8px;display:flex;align-items:center;gap:6px;color:var(--text-2);position:relative;white-space:nowrap;user-select:none;height:32px}
.langs summary::-webkit-details-marker{display:none}
.langs summary::after{content:"";position:absolute;right:8px;top:50%;width:5px;height:5px;margin-top:-4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.langs[open] summary{border-color:var(--primary);color:var(--primary)}
.langs .lm{position:absolute;right:0;top:calc(100% + 6px);min-width:132px;background:#fff;border:1px solid var(--split);border-radius:8px;box-shadow:var(--shadow);padding:4px;z-index:60}
.langs .lm a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;color:var(--text-2);font-size:14px}
.langs .lm a:hover{background:var(--bg-gray);text-decoration:none}
.langs .lm a[aria-current]{background:var(--primary-bg);color:var(--primary)}
/* 日语 / 泰语 / 越南语：系统字体各用各的（默认字体栈里只有中文字体，日语会落到中文字形、泰语看起来很挤） */
html[lang=ja] body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,"Noto Sans JP","Segoe UI",sans-serif;line-break:strict}
html[lang=th] body{font-family:-apple-system,BlinkMacSystemFont,"Thonburi","Sarabun","Leelawadee UI","Noto Sans Thai","Segoe UI",Tahoma,sans-serif;line-height:1.85}
html[lang=vi] body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
html[lang=ko] body{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Segoe UI",sans-serif;word-break:keep-all}
html[lang=zh-Hant] body{font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei","Noto Sans TC","Segoe UI",sans-serif}
html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=th] h1,html[lang=th] h2,html[lang=th] h3{overflow-wrap:anywhere}
.lnk{font-size:15px;color:var(--text-2)}
.lnk:hover{color:var(--primary)}

/* 首屏 */
.hero{padding:64px 0 72px;background:linear-gradient(180deg,#f0f5ff 0,#fff 420px)}
.hero-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.hero h1{margin-bottom:18px}
.who{margin-top:24px;font-size:14px;color:var(--text-3);padding-top:16px;border-top:1px solid var(--split)}

/* 截图框：普通浏览器窗口，不倾斜 */
.shot{border:1px solid var(--split);border-radius:10px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.shot-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#fafafa;border-bottom:1px solid var(--split);font-size:12px;color:var(--text-3)}
.shot-bar i{width:10px;height:10px;border-radius:50%;background:#e5e5e5}
.shot-bar span{margin-left:10px}
.shot img{width:100%;height:auto}
.shot-ph{aspect-ratio:16/10;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#fafafa 0 12px,#f5f5f5 12px 24px);color:var(--text-3);font-size:14px;padding:16px;text-align:center}

/* 分区 */
.sec{padding:80px 0}
.sec.gray{background:var(--bg-gray)}
.sec > .wrap > h2{margin-bottom:28px}

/* 功能：左右交替，图文各半 */
.feat{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px;align-items:center;padding:40px 0;border-top:1px solid var(--split)}
.feat:first-of-type{border-top:0;padding-top:8px}
.feat.rev{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.feat.rev .feat-txt{order:2}
.feat-txt p{color:var(--text-2)}
.idx{display:inline-block;font-size:13px;color:var(--primary);background:var(--primary-bg);border-radius:4px;padding:0 8px;margin-bottom:12px;font-variant-numeric:tabular-nums}

/* 安全：描述列表 */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--split);border:1px solid var(--split);border-radius:var(--radius);overflow:hidden}
.facts div{background:#fff;padding:20px 22px}
.facts dt{font-weight:600;margin-bottom:6px}
.facts dd{color:var(--text-2);font-size:15px}

/* 价格表：antd 表格 */
/* 价格：四列套餐（2026-10-16 改版二）。四张卡用 subgrid 共用同一套行，价格、单价、按钮、清单横向对齐；
   推荐那张深底白字、略抬高；「省 xx%」绿色小标；不用渐变光晕 */
.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(5,auto);column-gap:16px;margin:36px 0 10px;align-items:start}
.plan{grid-row:span 5;display:grid;grid-template-rows:subgrid;row-gap:0;position:relative;background:#fff;border:1px solid #e3e3de;border-radius:16px;padding:26px 22px 24px;color:#16181d}
.plan.rec{background:#14161b;border-color:#14161b;color:#fff;transform:translateY(-10px);box-shadow:0 24px 48px -24px rgba(20,22,27,.55)}
.plan-h{position:relative;padding-bottom:18px}
.plan-h h3{font-size:17px;font-weight:700;margin:0 0 4px;color:inherit}
.plan-h p{font-size:13.5px;color:#8a8a82;margin:0}
.plan.rec .plan-h p{color:rgba(255,255,255,.6)}
.plan-rec{position:absolute;top:-40px;left:-4px;font-size:12px;font-weight:600;color:#14161b;background:#ffd666;border-radius:999px;padding:3px 10px;white-space:nowrap}
.plan-price{font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;align-self:end}
.plan-unit{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 0 20px;font-size:13.5px;color:#6b6e75}
.plan.rec .plan-unit{color:rgba(255,255,255,.7)}
.plan-unit em{font-style:normal;font-size:12px;font-weight:700;color:#1f7a43;background:#e5f4ea;border-radius:999px;padding:2px 8px;white-space:nowrap}
.plan.rec .plan-unit em{color:#14161b;background:#8ee0a8}
.plan-btn{width:100%;justify-content:center;text-align:center;height:44px;font-weight:600}
.plan.rec .plan-btn{background:#fff;color:#14161b;border-color:#fff}
.plan.rec .plan-btn:hover{background:#f0f0f0;color:#14161b}
.plan-f{list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid #efeee9;display:grid;gap:10px}
.plan.rec .plan-f{border-top-color:rgba(255,255,255,.14)}
.plan-f li{display:flex;gap:9px;font-size:14px;line-height:1.45;color:#3d4047}
.plan.rec .plan-f li{color:rgba(255,255,255,.88)}
.plan-f li b{font-weight:700;color:#16181d}
.plan.rec .plan-f li b{color:#fff}
.plan-f svg{width:16px;height:16px;flex:none;margin-top:2px;color:#1f7a43}
.plan.rec .plan-f svg{color:#8ee0a8}
.plan-sure{text-align:center;font-size:14px;color:#5c5f66;margin:22px 0 0}
.plan-deploy{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:26px;padding:18px 0 6px;border-top:1px solid #e3e3de;font-size:14.5px}
.plan-deploy b{font-weight:600;color:#16181d}
.plan-deploy span{color:#5c5f66;flex:1;min-width:220px}
#pricing .muted{margin-top:14px}
@media (max-width:1000px){.plans{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(10,auto);row-gap:36px}.plan.rec{transform:none}}
@media (max-width:600px){.plans{grid-template-columns:1fr;grid-template-rows:none}.plan{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}.plan-price{font-size:34px;align-self:flex-start}}
.price{width:100%;border-collapse:collapse;margin:20px 0 12px;border:1px solid var(--split);border-radius:var(--radius);overflow:hidden;font-size:15px}
.price th,.price td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--split);vertical-align:top}
.price tr:last-child th,.price tr:last-child td{border-bottom:0}
.price th{font-weight:500;width:30%;background:#fafafa}
.price .v{font-weight:600;white-space:nowrap;width:24%}
.price .d{color:var(--text-2)}

.cta{background:#f0f5ff}

/* 页脚 */
.ft{border-top:1px solid var(--split);padding:48px 0 28px;font-size:14px;color:var(--text-2)}
.ft-in{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px}
.ft-about p{margin-top:10px;max-width:300px}
.ft .brand{display:inline-flex;align-items:center;gap:8px;color:var(--text)}.ft .brand svg{width:28px;height:28px;flex:none}
.ft h4{font-size:14px;color:var(--text);font-weight:600;margin-bottom:10px}
.ft-in > div > a,.ft .soon{display:block;padding:3px 0}
.ft-in > div > a:hover{color:var(--primary)}
.ft .soon{color:var(--text-3)}
.ft-b{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:36px;padding-top:20px;border-top:1px solid var(--split);color:var(--text-3)}

/* ---------- 计算器 ---------- */
.top{padding:56px 0 32px;background:linear-gradient(180deg,#f0f5ff 0,#fff 100%)}
.top h1{margin-bottom:12px}
.friend{display:none;margin-top:16px;font-size:14px;padding:9px 14px;background:var(--primary-bg);border:1px solid #91caff;border-radius:var(--radius);max-width:640px}
.friend.show{display:block}
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:32px;align-items:start;padding-bottom:72px}
.panel{border:1px solid var(--split);border-radius:var(--radius);padding:8px 24px 20px;background:#fff}
.field{padding:18px 0;border-bottom:1px solid var(--split)}
.field label{display:flex;justify-content:space-between;gap:12px;font-weight:500}
.field .hint{font-size:13px;color:var(--text-3);font-weight:400}
.row{display:flex;align-items:center;gap:16px;margin-top:8px}
input[type=range]{flex:1;accent-color:var(--primary)}
.num{width:110px;height:36px;border:1px solid var(--border);border-radius:6px;padding:0 10px;text-align:right;font-size:16px;font-variant-numeric:tabular-nums}
.num:focus,.assume input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 2px rgba(5,145,255,.1)}
details summary{cursor:pointer;color:var(--primary);list-style:none}
details summary::-webkit-details-marker{display:none}
#adv{margin-top:16px}
#adv summary::before{content:"▸ ";}
#adv[open] summary::before{content:"▾ ";}
.assume{display:grid;gap:8px;margin-top:12px;font-size:14px}
.assume .a{display:grid;grid-template-columns:minmax(0,1fr) 80px 80px;gap:8px;align-items:center}
.assume .head{color:var(--text-3);font-size:13px}
.assume input{width:100%;height:32px;border:1px solid var(--border);border-radius:6px;padding:0 8px;text-align:right;font-variant-numeric:tabular-nums}
.assume .note{font-size:13px;color:var(--text-3);margin-top:6px}
.result{position:sticky;top:76px;border:1px solid var(--split);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.r-head{padding:20px 24px;border-bottom:1px solid var(--split);background:#fafafa}
.r-k{font-size:14px;color:var(--text-2)}
.big{display:flex;align-items:baseline;gap:8px}
.big b{font-size:56px;line-height:1.15;font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums}
.big span{font-size:18px}
.r-sub{font-size:14px;color:var(--text-3)}
.bars{padding:18px 24px 4px;display:grid;gap:12px}
.bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:14px}
.bar .v{font-variant-numeric:tabular-nums}
.bar .track{grid-column:1/-1;height:6px;border-radius:99px;background:var(--split);overflow:hidden}
.bar .fill{height:100%;background:var(--primary);border-radius:99px;transition:width .3s}
.money{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 24px 0;padding-top:14px;border-top:1px solid var(--split);font-size:13px;color:var(--text-3)}
.money b{display:block;font-size:19px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.money p{grid-column:1/-1;font-size:12px}
.actions{padding:18px 24px 22px;display:grid;gap:10px}
.actions .btn{width:100%}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cardbox{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;align-items:center;padding-bottom:80px}
canvas#card{width:100%;height:auto;border:1px solid var(--split);border-radius:var(--radius);box-shadow:var(--shadow)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.how{padding-left:20px;display:grid;gap:10px;color:var(--text-2);margin:8px 0 16px}
.faq details{border-bottom:1px solid #e8e8e8;padding:14px 0}
.faq summary{color:var(--text);font-weight:500}
.faq details p{margin-top:8px;color:var(--text-2)}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .hd-nav{display:none}
  .hero-in,.feat,.feat.rev,.calc,.two-col,.cardbox{grid-template-columns:1fr}
  .feat.rev .feat-txt{order:0}
  .result{position:static}
  .ft-in{grid-template-columns:1fr 1fr}
  .cardbox canvas#card{max-width:320px}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  h1,.l-zh h1{font-size:30px}
  h2{font-size:24px}
  .hero{padding:36px 0 48px}
  .sec{padding:56px 0}
  .hd-in{gap:8px}
  .hd-right{gap:8px}
  .brand{font-size:15px;gap:6px}
  .brand svg{width:24px;height:24px}
  .hd .btn-sm{padding:0 10px;font-size:13px}
  .lnk.login{display:none}
  .langs summary{padding:4px 20px 4px 7px;gap:5px}
  .brand b{white-space:nowrap}
  .price th,.price td{padding:12px;display:block;width:auto;border:0}
  .price tr{display:block;border-bottom:1px solid var(--split)}
  .price th{background:none;padding-bottom:0}
  .price .v{padding-bottom:0}
  .assume .a{grid-template-columns:minmax(0,1fr) 64px 64px}
  .big b{font-size:46px}
  /* 页脚（手机）：「关于」占整行，四组链接两列排，间距收紧，不再一长串占两屏 */
  .ft{padding:32px 0 20px;font-size:14px}
  .ft-in{grid-template-columns:1fr 1fr;gap:20px 16px}
  .ft-about{grid-column:1 / -1}
  .ft-about p{max-width:none;margin-top:6px;font-size:13px}
  .ft h4{margin-bottom:4px}
  .ft-in > div > a,.ft .soon{display:flex;align-items:center;min-height:44px;padding:0;line-height:1.35}   /* 手机上页脚每个链接一整行 44px 高，好点（2026-11-07） */
  .ft-b a{display:inline-flex;align-items:center;min-height:44px}
  .hd .brand{min-height:44px;min-width:44px}
  .lnk-blue,.hero-upd a{display:inline-flex;align-items:center;min-height:44px}
  .ft-b{flex-direction:column;gap:4px;margin-top:20px;padding-top:14px;font-size:13px}
}

/* 很窄的手机：英文 / 印尼文的「预约演示」按钮长，顶栏放不下品牌名 → 只留 logo */
@media (max-width:430px){.l-en .hd .brand b,.l-id .hd .brand b{display:none}.hd .btn-sm{white-space:nowrap}}

/* 联系区：WhatsApp / 微信 / LinkedIn */
.contact{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:1px;background:var(--split);border:1px solid var(--split);border-radius:var(--radius);overflow:hidden;margin-top:28px;text-align:left}
.contact > div{background:#fff;padding:24px}
.contact h3{font-size:16px;margin-bottom:6px}
.ct-wa .btn{margin-top:14px}
.ct-wx{display:flex;gap:18px;align-items:center}
.ct-wx img{width:132px;height:132px;padding:8px;background:#fff;border:1px solid var(--split);border-radius:6px;flex:none}
.ct-wx b{font-weight:600}
.ct-wx .muted{margin-top:6px}
.l-zh .ct-wx{order:-1}
@media (max-width:1000px){.contact{grid-template-columns:1fr}}
.l-zh .contact{grid-template-columns:1.4fr 1fr 1fr}
/* 只有 WhatsApp 一项时：单列居中 */
.contact.one,.l-zh .contact.one{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto;text-align:center}
@media (max-width:1000px){.l-zh .contact{grid-template-columns:1fr}}

/* ================= 技术感：动态小部件 / 技术架构 / 部署 ================= */
/* 滚动渐入（只有脚本在时才先藏起来，没脚本照常显示） */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease var(--d,0ms),transform .6s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.js .reveal.in{opacity:1;transform:none}

/* 截图 + 叠加层 */
.shot-wrap{position:relative}
.live{position:absolute;left:-28px;bottom:-34px;width:300px;background:#fff;border:1px solid var(--split);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.14);padding:14px 16px;font-size:13px;line-height:1.5}
.live-h{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--primary);font-weight:500}
.live-h .dot{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 0 rgba(22,119,255,.5);animation:pulse 1.6s infinite}
.live.done .live-h .dot{background:#52c41a;animation:none}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(22,119,255,0)}100%{box-shadow:0 0 0 0 rgba(22,119,255,0)}}
.live-j{color:var(--text-3);font-size:12px;margin-top:2px}
.live-c{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}
.live-s{color:var(--text-3)}
.live-s b{font-size:22px;color:var(--primary);font-variant-numeric:tabular-nums}
.live-bar{position:relative;height:6px;border-radius:99px;background:var(--split);margin:6px 0 10px}
.live-bar i{position:absolute;inset:0 auto 0 0;width:0;border-radius:99px;background:var(--primary);transition:width .35s ease}
.live-bar em{position:absolute;left:60%;top:-3px;bottom:-3px;width:2px;background:var(--gold)}  /* 3 分及格线 */
.live ul{list-style:none;display:grid;gap:5px}
.live li{display:flex;gap:6px;align-items:flex-start;color:var(--text-2);opacity:.25;transition:opacity .3s}
.live li.on{opacity:1}
.live .tag{flex:none;font-size:11px;line-height:18px;padding:0 5px;border-radius:4px;border:1px solid #b7eb8f;background:#f6ffed;color:#389e0d}
.live li.no .tag{border-color:#d9d9d9;background:#fafafa;color:var(--text-3)}
.live-v{margin-top:10px;display:inline-block;font-size:12px;padding:1px 8px;border-radius:4px;border:1px solid #b7eb8f;background:#f6ffed;color:#389e0d;opacity:0;transform:scale(.9);transition:all .3s}
.live.done .live-v{opacity:1;transform:none}

.typing{position:absolute;right:-20px;top:46px;width:320px;background:#fff;border:1px solid var(--split);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.14);padding:14px 16px;font-size:13px}
.ty-k{font-size:12px;color:var(--text-3);margin-bottom:6px}
.ty-in{border:1px solid var(--primary);box-shadow:0 0 0 2px rgba(5,145,255,.1);border-radius:6px;padding:6px 10px;min-height:34px;color:var(--text)}
.caret{display:inline-block;width:1.5px;height:15px;background:var(--primary);vertical-align:-2px;margin-left:1px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.ty-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ty-chips span{font-size:12px;padding:1px 8px;border-radius:4px;background:var(--primary-bg);border:1px solid #91caff;color:var(--primary);opacity:0;transform:translateY(4px);transition:all .3s}
.typing.done .ty-chips span{opacity:1;transform:none}
.typing.done .ty-chips span:nth-child(2){transition-delay:.12s}
.typing.done .ty-chips span:nth-child(3){transition-delay:.24s}
.ty-found{margin-top:8px;font-size:12px;color:#389e0d;opacity:0;transition:opacity .3s .4s}
.typing.done .ty-found{opacity:1}

/* 事实数字条 */
.facts-strip{border-top:1px solid var(--split);border-bottom:1px solid var(--split);background:#fff}
.fs-in{display:grid;grid-template-columns:repeat(5,1fr)}
.fs-in > div{padding:26px 18px;border-left:1px solid var(--split)}
.fs-in > div:first-child{border-left:0}
.fs-in b{display:block;font-size:30px;font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums;line-height:1.2}
.fs-in span{font-size:13px;color:var(--text-2)}
/* 窄屏：英文 / 印尼文的数字更长，5 列会撑出屏幕 */
@media (max-width:1000px){.fs-in{grid-template-columns:repeat(3,minmax(0,1fr))}.fs-in > div:nth-child(3n+1){border-left:0}.fs-in > div:nth-child(n+4){border-top:1px solid var(--split)}}
@media (max-width:640px){.fs-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fs-in > div:last-child:nth-child(odd){grid-column:1 / -1}.fs-in > div{padding:16px 14px;border-left:1px solid var(--split);border-top:0}
  .fs-in > div:nth-child(odd){border-left:0}.fs-in > div:nth-child(n+3){border-top:1px solid var(--split)}.fs-in b{font-size:22px;overflow-wrap:anywhere}}

/* 技术架构：深色区，四列 + 流动的连接线 */
.sec.tech{background:#001529;color:rgba(255,255,255,.85)}   /* antd 深色菜单底色 */
.tech h2{color:#fff}
.tech .lead{color:rgba(255,255,255,.65);max-width:780px}
.flow{display:grid;grid-template-columns:1fr 36px 1.25fr 36px 1fr 36px 1fr;align-items:stretch;margin:36px 0 28px}
.flow-col{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:18px 18px 14px;background:rgba(255,255,255,.03)}
.flow-col:nth-child(3){border-color:rgba(22,119,255,.6);background:rgba(22,119,255,.08)}
.flow-col h3{font-size:16px;color:#fff;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.flow-col h3 span{font-size:12px;color:#69b1ff;font-variant-numeric:tabular-nums}
.flow-col ul{list-style:none;display:grid;gap:8px;font-size:14px;color:rgba(255,255,255,.72)}
.flow-col li{padding-left:14px;position:relative}
.flow-col li::before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:#4096ff}
.flow-link{position:relative;align-self:center;height:2px;background:rgba(255,255,255,.12);overflow:hidden}
.flow-link i{position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,#4096ff,transparent);animation:flow 1.8s linear infinite}
@keyframes flow{to{left:100%}}
.stack{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.stack span{font-size:13px;padding:3px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.8)}
.stack .stack-h{border:0;padding-left:0;color:rgba(255,255,255,.45)}

/* 模型矩阵：三段小场景按顺序播（site.js 按时间给 .models 依次加 s1…s5，播完淡出再从头来）：
   s1 Gemini 扫简历、弹出字段 → s2 光点跑到阿里云 → s3 查询点连到最近的 3 个人 → s4 光点跑到 Claude → s5 终端一行行出来 */
.models{position:relative;margin:32px 0 8px;padding:28px;border-radius:14px;overflow:hidden;border:1px solid rgba(64,150,255,.28);
  background:radial-gradient(ellipse 60% 80% at 10% 0%,rgba(22,119,255,.18),transparent 70%),#000c1a}
.models::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(64,150,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(64,150,255,.07) 1px,transparent 1px);background-size:28px 28px;
  -webkit-mask-image:linear-gradient(180deg,#000 20%,transparent);mask-image:linear-gradient(180deg,#000 20%,transparent)}
.mx-h{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:20px}
.mx-h h3{font-size:20px;color:#fff}
.mx-tag{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#69b1ff;padding:6px 10px;border:1px solid rgba(64,150,255,.4);border-radius:999px}
.mx-tag i{width:6px;height:6px;border-radius:50%;background:#52c41a;box-shadow:0 0 8px #52c41a;animation:mx-blink 1.6s ease-in-out infinite}
@keyframes mx-blink{50%{opacity:.3}}
.mx-grid{position:relative;display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:stretch}
.mx-card{--c:#4096ff;display:flex;flex-direction:column;padding:16px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);transition:border-color .4s,box-shadow .4s}
.mx-gemini{--c:#9B8CFF}.mx-alibabacloud{--c:#FF7A1A}.mx-claude{--c:#E08A6A}
/* 正在干活的那一段边框亮起来 */
.models.s1:not(.s2) .mx-gemini,.models.s3:not(.s4) .mx-alibabacloud,.models.s5 .mx-claude{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 8px 30px -14px var(--c)}
.mx-local{--c:#95de64;position:relative;margin-top:16px;padding:16px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1)}
.mx-local p{color:rgba(255,255,255,.72);font-size:14px;line-height:1.7;margin:0 0 12px}
.mx-free{margin-left:auto;font-size:12px;font-weight:600;color:#95de64;border:1px solid rgba(149,222,100,.45);border-radius:999px;padding:4px 10px;white-space:nowrap}
.mx-fields{display:flex;flex-wrap:wrap;gap:8px}
.mx-fields span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#d9e8ff;padding:5px 10px;border-radius:8px;background:rgba(64,150,255,.12);border:1px solid rgba(64,150,255,.25)}
.mx-fields svg{width:14px;height:14px;color:#95de64}
@media (max-width:720px){.mx-local .mx-top{flex-wrap:wrap}.mx-free{margin-left:0}}
.mx-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.mx-logo{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.06)}
.mx-logo svg{width:24px;height:24px}
.models.s1:not(.s2) .mx-gemini .mx-logo svg{animation:mx-spin 1.6s linear infinite}
@keyframes mx-spin{to{transform:rotate(360deg)}}
.mx-top b{display:block;color:#fff;font-size:16px;line-height:1.3}
.mx-role{font:500 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--c)}
.mx-card p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.62);margin-top:12px}
.mx-note{position:relative;margin-top:16px;font-size:13px;color:rgba(255,255,255,.5)}
.sc{position:relative;height:150px;border-radius:8px;background:#000814;border:1px solid rgba(255,255,255,.07);overflow:hidden}
.sc > *{transition:opacity .45s}
.models.out .sc > *{opacity:0}
/* 一轮结束复位：瞬间回到起点，不倒着播 */
.models.rst,.models.rst *{transition:none!important}
/* 段与段之间的管道：光点跑过去 */
.mx-pipe{position:relative;align-self:center;height:2px;margin:0 4px;background:rgba(255,255,255,.12)}
.mx-pipe i{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 10px 2px #69b1ff;opacity:0;transition:left .6s ease-in,opacity .2s}
.models.s2 .mx-pipe.p1 i,.models.s4 .mx-pipe.p2 i{left:calc(100% - 8px);opacity:1}
.models.s3 .mx-pipe.p1 i,.models.s5 .mx-pipe.p2 i{opacity:0}
/* ① Gemini：光带扫过简历，右边逐个弹出字段 */
.sc-read{position:absolute;inset:0;display:flex;gap:10px;padding:12px}
.doc{position:relative;flex:0 0 38%;border-radius:4px;background:#f4f6fa;padding:10px 8px;display:flex;flex-direction:column;gap:7px;overflow:hidden}
.doc i{display:block;height:5px;border-radius:3px;background:#c9d1de}
.doc i:first-child{width:55%;height:8px;background:#8c99ad}
.doc i:nth-child(3){width:80%}.doc i:nth-child(5){width:65%}.doc i:nth-child(6){width:40%}
.beam{position:absolute;left:0;right:0;top:-26px;height:24px;background:linear-gradient(180deg,transparent,rgba(155,140,255,.55));border-bottom:2px solid #9B8CFF;opacity:0;transition:top 1.6s cubic-bezier(.45,0,.55,1),opacity .2s}
.models.s1 .beam{top:100%;opacity:1}
.models.s2 .beam{opacity:0}
.chips{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
.chips span{font-size:12px;color:#e6e0ff;padding:3px 8px;border-radius:5px;background:rgba(155,140,255,.16);border:1px solid rgba(155,140,255,.4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transform:translateX(-10px);transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--k) * .35s + .3s)}
.models.s1 .chips span{opacity:1;transform:none}
/* ② 阿里云：数字一直在跳（site.js），查询点出现 → 连线画到最近的 3 个点 */
.sc-vec{position:absolute;inset:0;padding:10px 12px;display:flex;flex-direction:column}
.nums{font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:#ffb27a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-vec svg{flex:1;width:100%;min-height:0}
.pt{fill:rgba(255,255,255,.28);transition:fill .3s}
.models.s3 .pt.nr{fill:#FF7A1A;transition-delay:calc(var(--k) * .2s + .5s)}
.q{fill:#fff;stroke:#FF7A1A;stroke-width:2;opacity:0;transform-origin:122px 48px;transform:scale(.3);transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.models.s3 .q{opacity:1;transform:none}
.ln{stroke:#FF7A1A;stroke-width:1.5;stroke-dasharray:60;stroke-dashoffset:60;transition:stroke-dashoffset .5s ease-out;transition-delay:calc(var(--k) * .2s + .3s)}
.models.s3 .ln{stroke-dashoffset:0}
.match{align-self:flex-start;font-size:11.5px;color:#ffd2b0;padding:2px 8px;border-radius:999px;background:rgba(255,122,26,.15);opacity:0;transition:opacity .3s 1.1s}
.models.s3 .match{opacity:1}
/* ③ Claude：终端一行一行打出来 */
.sc-term{position:absolute;inset:0;padding:0 12px 10px;font:12px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d9dde5}
.t-bar{display:flex;gap:5px;padding:9px 0 6px}.t-bar i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18)}
.t-ln{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;clip-path:inset(0 100% 0 0);transition:clip-path .7s steps(22,end);transition-delay:calc(var(--k) * .8s + .2s)}
.models.s5 .t-ln{clip-path:inset(0 0 0 0)}
.t-ln:nth-child(2){color:#E08A6A}.t-ln:nth-child(3){color:#95de64}.t-ln:nth-child(4){color:#69b1ff}
@media (max-width:860px){.mx-grid{grid-template-columns:1fr}.mx-pipe{width:2px;height:22px;margin:4px auto}.mx-pipe i{display:none}.models{padding:20px 16px}}
@media (prefers-reduced-motion:reduce){.models *{transition:none!important;animation:none!important}}

/* 部署方式 */
.deploy{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.deploy > div{border:1px solid var(--split);border-radius:var(--radius);padding:24px;transition:border-color .2s,box-shadow .2s}
.deploy > div:hover{border-color:#91caff;box-shadow:var(--shadow)}
.dep-i{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--primary-bg);color:var(--primary);margin-bottom:12px}
.dep-i svg{width:24px;height:24px}
.deploy p{color:var(--text-2);font-size:15px}
.dep-lead{margin-top:22px;font-size:15px}
.dep-lead b{font-weight:600}

.team .lead{margin:6px 0 12px}

@media (max-width:1000px){
  .live{position:static;width:auto;margin-top:12px}
  .typing{position:static;width:auto;margin-top:12px}
  .fs-in{grid-template-columns:repeat(2,1fr)}
  .fs-in > div{border-left:0;border-top:1px solid var(--split)}
  .flow{grid-template-columns:1fr;gap:0}
  .flow-link{width:2px;height:28px;justify-self:center}
  .flow-link i{left:0;top:-40%;width:100%;height:40%;background:linear-gradient(180deg,transparent,#4096ff,transparent);animation:flowv 1.8s linear infinite}
  .deploy{grid-template-columns:1fr}
}
@keyframes flowv{to{top:100%}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .js .reveal{opacity:1;transform:none}
}

/* ================= 真实照片版式：部署 / 数据安全 / 团队 ================= */
/* 部署：照片卡片 */
.deploy{gap:24px}
.deploy > .dep-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.dep-ph{position:relative;aspect-ratio:16/9;overflow:hidden;background:#001529}
.dep-ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.dep-card:hover .dep-ph img{transform:scale(1.06)}
.dep-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,21,41,.55))}
.dep-ph .dep-i{position:absolute;left:18px;bottom:16px;z-index:1;margin:0;background:rgba(255,255,255,.92);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.dep-tx{padding:20px 24px 24px}

/* 数据安全：左照片 + 右列表 */
.sec-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:stretch}
.sec-photo{position:relative;margin:0;border-radius:14px;overflow:hidden;min-height:420px;box-shadow:var(--shadow)}
.sec-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 6s ease}
.sec-photo.in img{transform:scale(1.12)}
.sec-photo figcaption{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:rgba(0,21,41,.72);backdrop-filter:blur(6px);color:#fff;font-size:14px}
.pulse{width:9px;height:9px;border-radius:50%;background:#52c41a;box-shadow:0 0 0 0 rgba(82,196,26,.6);animation:pulseG 1.8s infinite;flex:none}
@keyframes pulseG{70%{box-shadow:0 0 0 9px rgba(82,196,26,0)}100%{box-shadow:0 0 0 0 rgba(82,196,26,0)}}
.sec-list{list-style:none;display:grid;gap:12px}
.sec-list li{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--split);border-radius:12px;padding:16px 18px;transition:border-color .2s,box-shadow .2s,transform .2s}
.sec-list li:hover{border-color:#d9d9d9}
.badge{flex:none;width:40px;height:40px;border-radius:10px;background:#1677ff;display:grid;place-items:center}
.badge svg{width:22px;height:22px;display:block}
.sec-list b{font-size:16px;font-weight:600}
.sec-list p{color:var(--text-2);font-size:14px;margin-top:2px}

/* 团队：雅加达夜景全幅背景 + 慢推 */
.team-band{position:relative;overflow:hidden;color:#fff;padding:110px 0;isolation:isolate}
.team-bg{position:absolute;inset:-6%;background-size:cover;background-position:center;z-index:-2;animation:kenburns 24s ease-in-out infinite alternate}
.team-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,21,41,.92) 0%,rgba(0,21,41,.72) 55%,rgba(0,21,41,.35) 100%)}
@keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.08) translate(-2%,-1%)}}
.team-in{max-width:1200px}
.team-in h2{color:#fff;font-size:34px;max-width:720px}
.team-in .lead{color:rgba(255,255,255,.82);max-width:720px;margin-top:6px}
.team-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px;max-width:760px}
.team-chips span{font-size:14px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(4px)}
.team-chips span:first-child{background:rgba(245,166,35,.18);border-color:rgba(245,166,35,.6)}
.team-li{background:#fff;border-color:#fff}
.fx-note{margin-top:4px}

@media (max-width:1000px){
  .sec-grid{grid-template-columns:1fr}
  .sec-photo{min-height:260px}
  .team-band{padding:72px 0}
  .team-band::before{background:rgba(0,21,41,.8)}
}
@media (prefers-reduced-motion:reduce){.team-bg{animation:none}}

/* ---------- 团队页 /<lang>/team/ ---------- */
.tm-hero{position:relative;overflow:hidden;color:#fff;padding:110px 0 90px;isolation:isolate}
.tm-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,21,41,.94) 0%,rgba(0,21,41,.78) 60%,rgba(0,21,41,.45) 100%)}
.tm-hero .kicker{display:inline-block;font-size:13px;letter-spacing:.08em;color:#F5A623;font-weight:600;margin-bottom:12px}
.tm-hero h1{color:#fff;font-size:40px;line-height:1.25;max-width:820px;margin:0}
.tm-hero .lead{color:rgba(255,255,255,.82);max-width:760px;margin-top:16px}
.tm-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:36px 0 0;max-width:900px}
.tm-facts div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:16px 18px;backdrop-filter:blur(4px)}
.tm-facts dt{font-size:24px;font-weight:700;color:#fff}
.tm-facts dd{margin:4px 0 0;font-size:13px;color:rgba(255,255,255,.72)}
.tm-list{display:flex;flex-direction:column;gap:28px}
.tm{display:grid;grid-template-columns:260px 1fr;gap:40px;background:#fff;border:1px solid #eef0f5;border-radius:16px;padding:36px;box-shadow:0 8px 30px rgba(15,35,95,.05)}
.tm-side{text-align:center;border-right:1px solid #f0f2f7;padding-right:32px}
.tm-ava{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 16px;box-shadow:0 0 0 4px #fff,0 0 0 6px #e6ecff}
.tm-mono{display:grid;place-items:center;font-size:38px;font-weight:700;color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#2B7BFF,#1A4FD6);position:relative}
.tm-mono::after{content:"";position:absolute;right:10px;bottom:10px;width:14px;height:14px;border-radius:50%;background:#F5A623;box-shadow:0 0 0 3px #fff}
.tm-name{font-size:24px;margin:0}
.tm-role{color:#1a4fd6;font-weight:600;margin:6px 0 0;font-size:15px}
.tm-base{display:flex;align-items:center;justify-content:center;gap:4px;color:#8c8c8c;font-size:14px;margin:8px 0 0}
.tm-base svg{width:15px;height:15px}
.tm-li{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:7px 16px;border-radius:999px;background:#0a66c2;color:#fff;font-size:14px;text-decoration:none}
.tm-li:hover{background:#004182}
.tm-li svg{width:15px;height:15px}
.tm-social{margin:14px 0 0;font-size:13px;color:#8c8c8c;display:flex;flex-direction:column;gap:2px}
.tm-social b{font-size:15px;color:#262626;letter-spacing:.04em}
.tm-bio{font-size:16px;line-height:1.75;color:#262626;margin:0}
.tm-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}
.tm-tags span{font-size:13px;padding:4px 12px;border-radius:999px;background:#f2f5ff;color:#1a4fd6;border:1px solid #dfe6ff}
.tm-main h3{font-size:14px;letter-spacing:.06em;color:#8c8c8c;font-weight:600;margin:24px 0 12px}
.tm-tl{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid #e6ecff}
.tm-tl li{position:relative;padding:0 0 18px 6px}
.tm-tl li:last-child{padding-bottom:0}
.tm-tl li::before{content:"";position:absolute;left:-26px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #2B7BFF}
.tm-tl li:first-child::before{background:#F5A623;border-color:#F5A623}
.tm-tl-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.tm-tl-h b{font-size:16px}
.tm-tl-h span{font-size:13px;color:#8c8c8c;white-space:nowrap}
.tm-tl-t{font-size:14px;color:#595959;margin-top:2px}
.tm-tl p{margin:4px 0 0;font-size:14px;color:#595959}
.tm-cta{text-align:center}
.tm-cta .lead{margin:8px 0 24px}
.team-acts{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.team-li2{color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){
  .tm-hero{padding:72px 0 56px}
  .tm-hero h1{font-size:28px}
  .tm-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tm{grid-template-columns:1fr;gap:24px;padding:24px}
  .tm-side{border-right:0;border-bottom:1px solid #f0f2f7;padding:0 0 20px}
}
/* 首页团队横幅里的合伙人卡片 */
.team-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 0;max-width:960px}
.team-card{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(6px);color:#fff;text-decoration:none;transition:background .2s,transform .2s}
.team-card:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.team-card img,.team-card .tm-mono{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 3px rgba(255,255,255,.35);font-size:24px}
.team-card .tm-mono::after{display:none}
.team-card b{font-size:18px;display:block}
.team-card .role{display:block;color:#F5A623;font-size:13px;font-weight:600;margin-top:2px}
.team-card p{margin:8px 0 0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.8)}
@media (max-width:860px){.team-cards{grid-template-columns:1fr}}
/* 时间线里的公司 logo */
.tm-org{display:flex;align-items:center;gap:10px;min-width:0}
.tm-logo{display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:32px;padding:0 10px;border-radius:8px;background:#fff;border:1px solid #eef0f5;box-shadow:0 1px 3px rgba(15,35,95,.06);flex-shrink:0}
.tm-logo img{height:18px;width:auto;max-width:96px;display:block}
.tm-logo-ic{padding:0;width:32px;color:#1a4fd6;background:#f2f5ff;border-color:#dfe6ff}
.tm-logo-ic svg{width:18px;height:18px}
.tm-tl li::before{top:10px}
.tm-tl-h .tm-org{color:#262626;white-space:normal;font-size:inherit}
.tm-tl-h .tm-org b{font-size:16px}

/* ---------- 2026-10-10 技术区：浅色卡片 + 栏间连线上的流光 + 中间「AI 引擎」高亮；安全清单图标浅底单色；去掉呼吸圆点 ---------- */
.sec.tech{background:#f5f7fb;color:var(--text);border-top:1px solid var(--split);border-bottom:1px solid var(--split)}
.tech h2{color:var(--text)}
.tech .lead{color:var(--text-2)}
.flow-col{border:1px solid var(--split);background:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(15,35,95,.04)}
.flow-col:nth-child(3){border-color:#91caff;background:#f0f7ff;box-shadow:0 0 0 3px rgba(22,119,255,.08),0 8px 24px rgba(22,119,255,.12)}
.flow-col h3{color:var(--text)}
.flow-col h3 span{color:var(--primary)}
.flow-col ul{color:var(--text-2)}
.flow-col li::before{background:#69b1ff}
.flow-link{background:#d6e4ff;overflow:visible}
.flow-link i{background:linear-gradient(90deg,transparent,#1677ff,transparent)}
.flow-link::after{content:"";position:absolute;right:-1px;top:50%;width:7px;height:7px;border-top:2px solid #91caff;border-right:2px solid #91caff;transform:translateY(-50%) rotate(45deg)}
.stack span{border-color:var(--split);color:var(--text-2);background:#fff}
.stack .stack-h{color:#8c8c8c;background:none}
/* 宽屏 4 列；窄屏由上面的 @media 规则排成 3 / 2 列（这条以前不分屏宽，手机上把英文 / 印尼文撑出屏幕） */
@media (min-width:1001px){.fs-in{grid-template-columns:repeat(4,1fr)}}
.fs-in b{color:var(--text);font-size:24px}
.live-h .dot{animation:none;box-shadow:none}
.pulse{animation:none;box-shadow:none}
@media (max-width:860px){
  .flow-link i{background:linear-gradient(180deg,transparent,#1677ff,transparent)}
  .flow-link::after{right:auto;left:50%;top:auto;bottom:-1px;transform:translateX(-50%) rotate(135deg)}
}

/* 技术栈标签前的小图标 */
.stack span{display:inline-flex;align-items:center;gap:6px}
.stack span svg{width:15px;height:15px;flex:none}
.stack span svg{width:17px;height:17px}
.stack span svg.wide{width:26px;height:26px;margin:-5px -2px}
/* 实时数字条（/api/stats，真实统计）：一张卡片，左边「实时」+ 图例，右边 5 列等宽、细竖线分隔；
   每列：大数字 + 右侧红色「▲ 新增」（过去 24 小时新增，<字段>_new，为 0 不显示），下面一行说明（2026-10-15 重新设计「没有美感了」） */
.live-strip{padding:6px 0 30px}
.ls-in{display:grid;grid-template-columns:auto repeat(5,minmax(0,1fr));align-items:center;background:#fff;border:1px solid #e6ebf5;border-radius:16px;
  box-shadow:0 1px 2px rgba(16,24,64,.04),0 10px 30px -12px rgba(26,79,214,.18);padding:18px 8px}
.ls-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 24px 0 18px}
.ls-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#389e0d;background:#f6ffed;border:1px solid #d9f7be;border-radius:999px;padding:3px 10px}
.ls-dot{width:7px;height:7px;border-radius:50%;background:#52c41a;box-shadow:0 0 0 0 rgba(82,196,26,.6);animation:lsPulse 1.6s infinite}
@keyframes lsPulse{0%{box-shadow:0 0 0 0 rgba(82,196,26,.6)}70%{box-shadow:0 0 0 8px rgba(82,196,26,0)}100%{box-shadow:0 0 0 0 rgba(82,196,26,0)}}
.ls-legend{font-size:11.5px;color:var(--text-3,#8c8c8c);white-space:nowrap}
.ls-legend i{font-style:normal;color:#f5222d;font-size:9px;margin-right:4px;vertical-align:1px}
.ls-item{padding:2px 22px;border-left:1px solid #edf0f6;min-width:0}
.ls-num{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ls-in b{font-size:28px;font-weight:700;color:#0b1f4d;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.15}
.ls-up{font-style:normal;font-size:13px;font-weight:600;color:#f5222d;white-space:nowrap;font-variant-numeric:tabular-nums;opacity:0;transform:translateY(3px);transition:opacity .4s,transform .4s}
.ls-up::before{content:"▲";font-size:9px;margin-right:3px;vertical-align:1px}
.ls-up.on{opacity:1;transform:none}
.ls-item span{display:block;margin-top:4px;font-size:13px;color:var(--text-2);line-height:1.35}
.ls-in b.bump{animation:lsBump .6s}
@keyframes lsBump{0%{color:#52c41a;transform:translateY(-2px)}100%{color:#0b1f4d;transform:none}}
@media (max-width:1100px){.ls-in{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}.ls-head{grid-column:1 / -1;flex-direction:row;align-items:center;padding:0 22px}
  .ls-item:nth-child(3n+2){border-left:0}}
@media (max-width:640px){.ls-in{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 4px;border-radius:12px}.ls-head{padding:0 14px}
  .ls-item{padding:2px 14px}.ls-item:nth-child(3n+2){border-left:1px solid #edf0f6}.ls-item:nth-child(2n){border-left:0}
  .ls-in b{font-size:21px}.ls-up{font-size:11.5px}.ls-item span{font-size:12px}}
@media (prefers-reduced-motion:reduce){.ls-dot{animation:none}.ls-in b.bump{animation:none}.ls-up{transition:none}}
/* 手机：数字条挪进首屏按钮下面（site.js 加 .ls-hero） */
.live-strip.ls-hero{padding:0;margin:18px 0 4px}
.live-strip.ls-hero .wrap{padding:0}

/* 功能介绍里的重点：加粗 + 淡蓝荧光笔底色 */
.feat-txt .hl{font-weight:600;color:var(--text);background:linear-gradient(transparent 60%,rgba(43,123,255,.18) 60%);padding:0 1px;border-radius:2px}

/* 首屏「最近更新」一行 */
.hero-upd{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-top:14px;font-size:13px;color:var(--text-2);text-decoration:none;padding:5px 12px;border:1px solid var(--split);border-radius:999px;background:#fff}
.hero-upd b{font-weight:600;color:var(--text)}
.hero-upd .dot{width:7px;height:7px;border-radius:50%;background:#52c41a;flex:none}
.hero-upd .arr{color:var(--primary)}
.hero-upd:hover{border-color:var(--primary)}

/* 更新日志页 */
.cl-hero{padding:72px 0 8px}
.cl-hero h1{font-size:40px;letter-spacing:-.02em;margin-bottom:12px}
.cl-hero .lead{color:var(--text-2)}
.cl-count{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--text-3)}
.cl-count .dot{width:6px;height:6px;border-radius:50%;background:#52c41a}
.sec.cl{padding-top:28px}
/* 每天一行：左边日期，右边条目；条目 = 小标签 + 标题 + 一句说明（2026-10-16 改成发布说明的写法） */
.cl-day{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:36px 0;border-top:1px solid var(--split)}
.cl-day:first-child{border-top:0;padding-top:12px}
.cl-day h2{margin:0;font-size:15px;font-weight:600;display:flex;flex-direction:column;gap:4px;position:sticky;top:88px;align-self:start}
.cl-day h2 span{font-size:13px;font-weight:400;color:var(--text-3)}
.cl-day ul{list-style:none;margin:0;padding:0;display:grid;gap:26px}
.cl-day li{display:block}
.cl-day h3{margin:6px 0 4px;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.cl-day li p{margin:0;color:var(--text-2);line-height:1.75;font-size:15px}
.cl-tag{display:inline-block;flex:none;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:0;border:0;background:none}
.cl-new{color:#1a4fd6}
.cl-improve{color:#389e0d}
.cl-fix{color:#d46b08}
@media (max-width:760px){.cl-hero{padding-top:40px}.cl-hero h1{font-size:30px}.cl-day{grid-template-columns:1fr;gap:16px;padding:28px 0}.cl-day h2{position:static;flex-direction:row;align-items:baseline;gap:10px}}

/* 访客「我们刚更新了」小弹窗（upd.js） */
.upd-pop{position:fixed;left:20px;bottom:20px;z-index:60;width:360px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--split);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14);padding:16px 18px 14px;
  opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1)}
.upd-pop.on{opacity:1;transform:none}
.upd-x{position:absolute;top:8px;right:10px;width:28px;height:28px;border:0;background:none;font-size:20px;line-height:1;color:var(--text-3);cursor:pointer;border-radius:6px}
.upd-x:hover{background:#f5f5f5;color:var(--text)}
.upd-h{display:flex;align-items:center;gap:8px;margin:0 28px 10px 0;font-size:15px}
.upd-h b{font-weight:600}
.upd-h .dot{width:8px;height:8px;border-radius:50%;background:#52c41a;flex:none}
.upd-d{font-size:12px;color:var(--text-3)}
.upd-pop ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.upd-pop li{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--text-2)}
.upd-pop .cl-tag{font-size:10px;margin-top:3px;min-width:44px}
.upd-t b{color:var(--text);font-weight:600}
.upd-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.upd-all{font-size:13px;font-weight:600;color:var(--primary);text-decoration:none}
.upd-all:hover{text-decoration:underline}
@media (max-width:640px){.upd-pop{left:16px;right:16px;bottom:16px;width:auto}}
@media (prefers-reduced-motion:reduce){.upd-pop{transition:none}}

/* ── 客户页 /<lang>/customers/（2026-10-15 改版「去 AI 化，自然一点」）：内容来自平台后台「官网客户」，site.js 渲染 ──
   取向：像一篇编辑过的客户介绍，不像模板。留白、细分隔线、克制的字重；不用渐变光晕、网格背景、金色徽章、打勾气泡、满屏卡片和重阴影 */
.cu-hero{padding:88px 0 40px;background:#fbfbf9;border-bottom:1px solid #eeede8}
.cu-kicker{font-size:13px;letter-spacing:.08em;color:#8a8a82;margin-bottom:18px}
.cu-hero h1{font-size:40px;line-height:1.2;font-weight:600;letter-spacing:-.01em;color:#16181d;max-width:760px}
.cu-hero .lead{color:#5c5f66;max-width:620px;margin-top:16px;font-size:17px;line-height:1.75}
.cu-sec{padding-top:64px;padding-bottom:64px}
.cu-sec h2{font-size:22px;font-weight:600;margin-bottom:28px}
.cu-empty{text-align:center;padding:24px 0}
.cu-skel{display:grid;gap:14px}
.cu-skel i{display:block;height:120px;border-radius:12px;background:linear-gradient(90deg,#f3f3f0 25%,#ebebe7 50%,#f3f3f0 75%);background-size:200% 100%;animation:cuShimmer 1.4s linear infinite}
.cu-skel i:first-child{height:260px}
@keyframes cuShimmer{to{background-position:-200% 0}}

/* 合作伙伴：一篇介绍，不是一张卡片 */
.cu-partner{margin-bottom:24px}
.cu-p-head{display:flex;align-items:center;gap:22px;padding-bottom:28px;border-bottom:1px solid #ecebe6}
.cu-p-logo,.cu-c-logo{flex:none;display:grid;place-items:center;background:#fff;overflow:hidden}
.cu-p-logo{width:76px;height:76px;border-radius:14px}
.cu-p-logo img{width:100%;height:100%;object-fit:contain}
.cu-c-logo{width:52px;height:52px;border-radius:12px;border:1px solid #ecebe6}
.cu-c-logo img{width:80%;height:80%;object-fit:contain}
.cu-p-logo b,.cu-c-logo b{font-size:20px;color:#5c5f66}
.cu-badge{display:block;font-size:12.5px;letter-spacing:.06em;color:#9a7b3c;margin-bottom:6px}
.cu-p-title h2{font-size:26px;line-height:1.25;font-weight:600;margin:0;color:#16181d}
.cu-tagline{font-size:16px;color:#3d4047;margin-top:6px}
.cu-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:13.5px;color:#8a8a82;margin-top:6px}
.cu-meta i{font-style:normal;color:#d5d4ce}
.cu-meta a{color:#5c5f66;text-decoration:underline;text-decoration-color:#d5d4ce;text-underline-offset:3px}
.cu-p-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding:36px 0 8px}
.cu-p-main{max-width:640px}
.cu-p-main h3,.cu-contact h3,.cu-clients h3{font-size:13px;font-weight:600;letter-spacing:.06em;color:#8a8a82;margin-bottom:14px}
.cu-biz p{font-size:16px;line-height:1.95;color:#3d4047;margin-bottom:14px}
.cu-hl{list-style:none;margin:22px 0 4px;border-top:1px solid #ecebe6}
.cu-hl li{padding:12px 0;border-bottom:1px solid #ecebe6;font-size:15px;line-height:1.55;color:#2a2d33}
.cu-hl-rich{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:0;margin-top:28px}
.cu-hl-rich li{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-bottom:0;border-top:1px solid #ecebe6}
.cu-hl-rich b{font-size:15px;font-weight:600;color:#16181d}
.cu-hl-rich span{font-size:14px;line-height:1.65;color:#6b6e75}
.cu-quote{margin:30px 0 0;padding:2px 0 2px 20px;border-left:2px solid #16181d;font-size:18px;line-height:1.7;color:#16181d}
.cu-contact{align-self:start;position:sticky;top:88px}
.cu-btn{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #ecebe6;color:#16181d;transition:color .15s}
.cu-btn:hover{color:#000}
.cu-btn svg{width:20px;height:20px;flex:none;color:#8a8a82}
.cu-btn span{display:flex;flex-direction:column;min-width:0}
.cu-btn b{font-size:15px;font-weight:600}
.cu-btn small{font-size:13px;color:#8a8a82;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-wa{background:#16181d;color:#fff;border:0;border-radius:10px;padding:13px 16px;margin-bottom:6px}
.cu-wa svg,.cu-wa small{color:rgba(255,255,255,.7)}
.cu-wa:hover{color:#fff;background:#000}
.cu-wx{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #ecebe6}
.cu-wx img{width:96px;height:96px;border-radius:8px;flex:none}
.cu-wx b{display:block;font-size:15px;font-weight:600;margin-bottom:4px}
.cu-wx small{display:block;font-size:12.5px;color:#8a8a82;margin-top:4px}
.cu-wx-id{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cu-wx-id code{font:500 14px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:#2a2d33}
.cu-wx-id button{font-size:12.5px;border:0;background:none;padding:0;cursor:pointer;color:#8a8a82;text-decoration:underline;text-underline-offset:3px}
.cu-wx-id button.ok{color:#3f8f5a;text-decoration:none}
.cu-clients{padding:40px 0 0;margin-top:32px;border-top:1px solid #ecebe6}
.cu-clients h3 span{font-weight:400;color:#b3b2ab;margin-left:6px}
.cu-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 24px}
.cu-logo-cell{height:72px;display:grid;place-items:center;padding:10px 12px}
.cu-logo-cell img{max-width:100%;max-height:44px;object-fit:contain;opacity:.88;transition:opacity .2s}
.cu-logo-cell:hover img{opacity:1}
.cu-logo-cell b{font-size:13px;font-weight:500;color:#5c5f66;text-align:center;line-height:1.3}
/* 流动客户墙：两行反向慢慢滚，两侧渐隐，悬停暂停 */
.cu-flow{display:grid;gap:10px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cu-flow-row{overflow:hidden}
.cu-flow-track{display:flex;gap:28px;width:max-content;animation:cuFlow 60s linear infinite}
.cu-flow-row.rev .cu-flow-track{animation-direction:reverse}
.cu-flow:hover .cu-flow-track{animation-play-state:paused}
.cu-flow .cu-logo-cell{width:150px;flex:none}
@keyframes cuFlow{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 14px))}}

/* 客户评价框：浅底、大号引号、原话、署名；不加颜色条和阴影 */
.cu-review{position:relative;margin:32px 0 0;padding:34px 40px 30px 76px;background:#f6f5f1;border-radius:16px}
.cu-review::before{content:"\201C";position:absolute;left:30px;top:18px;font:400 64px/1 Georgia,"Times New Roman",serif;color:#c3c0b6}
.cu-review figcaption{font-size:13px;font-weight:600;letter-spacing:.06em;color:#8a8a82;margin-bottom:12px}
.cu-review blockquote{margin:0;max-width:780px}
.cu-review blockquote p{font-size:19px;line-height:1.85;color:#16181d;margin:0 0 8px}
.cu-review-by{display:flex;align-items:center;gap:12px;margin-top:18px}
.cu-review-logo{width:36px;height:36px;border-radius:9px;flex:none;display:grid;place-items:center;overflow:hidden;background:#fff}
.cu-review-logo img{width:100%;height:100%;object-fit:contain}
.cu-review-logo b{font-size:13px;color:#5c5f66}
.cu-review-by span{display:flex;flex-direction:column;line-height:1.35}
.cu-review-by b{font-size:14.5px;font-weight:600;color:#16181d}
.cu-review-by small{font-size:12.5px;color:#8a8a82}
.cu-card .cu-review{margin-top:14px;padding:22px 22px 20px 52px}
.cu-card .cu-review::before{left:18px;top:12px;font-size:44px}
.cu-card .cu-review blockquote p{font-size:15.5px}
/* 其他客户：两栏文字，细线分隔，不做卡片 */
.cu-sec.gray{background:#fbfbf9;border-top:1px solid #eeede8}
.cu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:0 56px}
.cu-card{padding:28px 0;border-top:1px solid #ecebe6;display:flex;flex-direction:column;gap:6px}
.cu-c-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.cu-card h3{font-size:18px;font-weight:600;margin:0}
.cu-card .cu-meta{margin-top:2px;font-size:13px}
.cu-card .cu-tagline{font-size:15px;margin-top:4px}
.cu-card .cu-biz p{font-size:15px;line-height:1.85}
.cu-card .cu-hl{margin-top:10px}
.cu-card .cu-hl li{font-size:14px;padding:9px 0}
.cu-card .cu-quote{font-size:16px}
.cu-clamp{max-height:9.6em;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}
.cu-clamp.open{max-height:none;-webkit-mask-image:none;mask-image:none}
.cu-more{align-self:flex-start;border:0;background:none;color:#5c5f66;font-size:14px;cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:3px}
.cu-c-contact{display:grid;margin-top:10px}

/* 首页客户墙：标题 + 横向慢慢滚的 logo + 「看看他们的故事」 */
.cu-wall{padding:0 0 30px}
.cu-wall-in{display:flex;align-items:center;gap:22px;padding:14px 22px;border-radius:16px;background:#fff;border:1px solid #e6ebf5;color:var(--text);transition:border-color .2s,box-shadow .2s}
.cu-wall-in:hover{border-color:#bcd2ff;box-shadow:0 10px 30px -16px rgba(26,79,214,.35)}
.cu-wall-h{flex:none;font-size:13px;font-weight:600;color:var(--text-2);max-width:150px;line-height:1.35}
.cu-marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cu-track{display:inline-flex;align-items:center;gap:40px;white-space:nowrap;padding-right:40px}
.cu-track.run{animation:cuMarquee 30s linear infinite}
.cu-wall-in:hover .cu-track.run{animation-play-state:paused}
@keyframes cuMarquee{to{transform:translateX(-50%)}}
.cu-w-item{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#3a4660}
.cu-w-item img{height:30px;max-width:110px;object-fit:contain}
.cu-w-item em{font-style:normal}
.cu-wall-more{flex:none;font-size:14px;color:var(--primary);font-weight:600}

@media (max-width:900px){.cu-p-body{grid-template-columns:1fr;gap:36px}.cu-contact{position:static}}
@media (max-width:640px){
  .cu-hero{padding:56px 0 32px}.cu-hero h1{font-size:28px}.cu-hero .lead{font-size:16px}
  .cu-p-head{gap:16px}.cu-p-logo{width:60px;height:60px}.cu-p-title h2{font-size:21px}
  .cu-biz p{font-size:15.5px}.cu-grid{grid-template-columns:1fr}
  .cu-hl-rich{grid-template-columns:1fr}
  .cu-review{padding:26px 20px 22px 50px}.cu-review::before{left:14px;top:12px;font-size:48px}.cu-review blockquote p{font-size:16.5px}
  .cu-flow .cu-logo-cell{width:120px;height:60px}.cu-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cu-wall-in{flex-wrap:wrap;gap:10px 14px;padding:12px 14px}.cu-wall-h{max-width:none}.cu-marquee{flex-basis:100%;order:3}
}
@media (prefers-reduced-motion:reduce){.cu-track.run{animation:none}.cu-skel i{animation:none}.cu-btn:hover,.cu-card:hover,.cu-logo-cell:hover{transform:none}}

/* 首页「印尼企业图谱」入口（和图谱页同一套深色 + 点阵插画；数字由 site.js 拉 /companies-stats.json） */
.dir-band{background:#07111F;color:#fff;padding:56px 0;margin:8px 0 0}
.dir-band-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}
.dir-band-tag{font:500 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;color:#7FA6D8}
.dir-band h2{color:#fff;font-size:34px;line-height:1.2;margin:12px 0 12px}
.dir-band p{color:#B8C6DA;font-size:16px;line-height:1.75;margin:0 0 22px;max-width:560px}
.dir-libs{display:grid;border-top:1px solid rgba(170,195,235,.16)}
.dir-lib{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 4px;border-bottom:1px solid rgba(170,195,235,.16);color:#fff;text-decoration:none;transition:background .2s}
.dir-lib:hover{background:rgba(127,166,216,.07)}.dir-lib:hover .dir-lib-go{transform:translateX(3px);color:#fff}
.dir-lib-n b{font-size:28px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.dir-lib-n i{font-style:normal;font-size:13px;color:#8394AE;margin-left:6px}
.dir-lib-t{min-width:0}.dir-lib-t strong{display:block;font-size:16px;font-weight:600}.dir-lib-t small{display:block;font-size:13px;line-height:1.5;color:#8394AE;margin-top:2px}
.dir-lib-go{color:#7FA6D8;font-size:18px;transition:transform .2s,color .2s}
.dir-band-art{position:relative;display:block;border-radius:12px;overflow:hidden;border:1px solid rgba(170,195,235,.18);aspect-ratio:3/2}
.dir-band-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.dir-band-art:hover img{transform:scale(1.03)}
.dir-band-list{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(7,17,31,.82);border:1px solid rgba(170,195,235,.2);border-radius:8px;padding:10px 14px;font-size:13px;color:#DCE5F2;display:grid;gap:4px}
.dir-band-list[hidden]{display:none}.dir-band-list em{font-style:normal;color:#8394AE;font-size:12px}.dir-band-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:860px){.dir-band{padding:40px 0}.dir-band-in{grid-template-columns:1fr;gap:28px}.dir-band h2{font-size:26px}.dir-lib{grid-template-columns:minmax(0,1fr) auto;gap:4px 14px}.dir-lib-n{grid-column:1}.dir-lib-t{grid-column:1}.dir-lib-go{grid-column:2;grid-row:1/3}.dir-lib-n b{font-size:24px}}

/* 增值服务页（/zh|en|id/services/，2026-11-07）：一项服务一行（左：名称 + 价格；右：适合谁、周期、交付内容），不做卡片墙 */
.sv-list{border-top:2px solid var(--text);margin-top:20px}
.sv-item{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;padding:28px 0;border-bottom:1px solid var(--split)}
.sv-head h3{font-size:20px;line-height:1.35;margin:0}
.sv-price{margin:10px 0 0}.sv-price b{display:block;font-size:22px;font-weight:700;color:var(--text)}.sv-price span{font-size:13px;color:var(--text-3)}
.sv-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px}
.sv-body dl{margin:0}.sv-body dt{font-size:12px;color:var(--text-3);margin-top:12px}.sv-body dt:first-child{margin-top:0}.sv-body dd{margin:4px 0 0;color:var(--text-2);font-size:15px;line-height:1.7}
.sv-body h4{font-size:12px;font-weight:500;color:var(--text-3);margin:0 0 6px}
.sv-body ul{margin:0;padding-left:18px;color:var(--text-2);font-size:15px;line-height:1.8}
.sv-note{font-size:13px;margin:10px 0 0}
.sv-act{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}
.sv-act a{display:inline-flex;align-items:center;min-height:44px}
.sv-sample{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:center}
.sv-cover{display:block;border-radius:6px;overflow:hidden;border:1px solid var(--split);box-shadow:var(--shadow)}.sv-cover img{display:block;width:100%;height:auto}
.sv-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px}
.sv-steps{list-style:none;counter-reset:s;margin:16px 0 0;padding:0}
.sv-steps li{counter-increment:s;display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 8px;padding:12px 0;border-bottom:1px solid var(--split)}
.sv-steps li::before{content:counter(s);grid-row:1/3;width:26px;height:26px;border-radius:50%;background:var(--primary-bg);color:var(--primary);font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center}
.sv-steps b{font-size:15px}.sv-steps span{color:var(--text-2);font-size:14px}
.sv-rules{margin:16px 0 0;padding-left:18px;color:var(--text-2);line-height:1.9}
@media (max-width:860px){.sv-item,.sv-body,.sv-sample,.sv-two{grid-template-columns:1fr;gap:16px}.sv-sample .sv-cover{max-width:240px}.sv-two{gap:32px}}

/* ---------- 求职者简历工具 /id/cv/、/en/cv/（2026-11-07，cv.js） ---------- */
.cv [hidden]{display:none !important}   /* 下面不少块设了 display，会盖掉 hidden 属性 */
.cv-card{background:#fff;border:1px solid var(--split);border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 28px rgba(15,23,42,.06);padding:20px;min-width:0}
.cv-acct{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;margin-bottom:14px;min-height:28px}
.cv-who{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.cv-who img{border-radius:50%}
.cv-cred{font-size:12px;padding:2px 10px;border-radius:999px;background:var(--bg-gray);color:var(--text-2)}
.cv-cred.on{background:#e6f4ea;color:#16794a}
.cv-link{background:none;border:0;padding:0;color:var(--primary);cursor:pointer;font-size:14px;min-height:32px}
.cv-login{font-weight:600}
.cv-tabs{display:flex;width:max-content;max-width:100%;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:12px}
.cv-tabs button{background:#fff;border:0;padding:6px 14px;font-size:14px;cursor:pointer;color:var(--text-2)}
.cv-tabs button+button{border-left:1px solid var(--border)}
.cv-tabs button.on{background:var(--primary-bg);color:var(--primary);font-weight:600}
.cv-drop{display:grid;place-items:center;gap:4px;text-align:center;border:1.5px dashed var(--border);border-radius:12px;padding:28px 16px;cursor:pointer;transition:border-color .2s,background .2s}
.cv-drop:hover,.cv-drop.over{border-color:var(--primary);background:#f7faff}
.cv-drop input{position:absolute;width:1px;height:1px;opacity:0}
.cv-drop b{font-weight:600;overflow-wrap:anywhere}.cv-drop small{font-size:13px;color:var(--text-3)}
.cv-form textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;resize:vertical}
.cv-field{display:grid;gap:4px;margin-top:14px;font-size:14px;min-width:0}
.cv-field span{color:var(--text-2)}
.cv-field input{height:40px;border:1px solid var(--border);border-radius:8px;padding:0 12px;width:100%;min-width:0}
.cv-field input:focus,.cv-form textarea:focus{outline:2px solid var(--primary-bg);border-color:var(--primary)}
.cv-co{margin-top:10px;font-size:14px;color:var(--text-2);overflow-wrap:anywhere}
.cv-go{width:100%;height:46px;margin-top:16px;font-weight:600}
.cv-go.busy{opacity:.8;cursor:progress}
.cv-err{margin-top:10px;font-size:14px;color:#dc2626}
.cv-small{margin-top:10px;font-size:12px;line-height:1.6;color:var(--text-3)}
.cv-result{padding-top:48px}
.cv-res{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.cv-score{--c:#16a34a;width:112px;height:112px;border-radius:50%;flex:none;display:grid;place-content:center;text-align:center;
  background:radial-gradient(closest-side,#fff 78%,transparent 79%),conic-gradient(var(--c) calc(var(--p)*1%),var(--split) 0)}
.cv-score b{font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.cv-score span{font-size:12px;color:var(--text-3)}
.cv-mid{--c:#d97706}.cv-low{--c:#dc2626}
.cv-sum{flex:1;min-width:240px}.cv-sum .kicker{font-size:13px;color:var(--text-3)}.cv-sum h2{font-size:24px;margin:4px 0 6px}
.cv-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px;margin-top:32px}
.cv-cols h3{font-size:17px;margin:0 0 10px}
.cv-ok,.cv-warn{list-style:none;display:grid;gap:8px;margin-bottom:24px}
.cv-ok li,.cv-warn li{position:relative;padding-left:22px;font-size:15px}
.cv-ok li::before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:700}
.cv-warn li::before{content:"!";position:absolute;left:4px;color:#d97706;font-weight:700}
.cv-fixes{list-style:none;counter-reset:fx;display:grid;gap:14px}
.cv-fixes li{counter-increment:fx;position:relative;padding:14px 16px 14px 48px;border:1px solid var(--split);border-radius:12px;background:#fff}
.cv-fixes li::before{content:counter(fx);position:absolute;left:16px;top:14px;width:22px;height:22px;border-radius:50%;background:var(--primary-bg);color:var(--primary);font-size:13px;font-weight:700;display:grid;place-items:center}
.cv-fixes b{display:block;font-weight:600}.cv-fixes p{margin-top:4px;font-size:14px;color:var(--text-2);overflow-wrap:anywhere}
.cv-pay{margin-top:36px}
.cv-offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:24px;align-items:center;padding:24px;border-radius:14px;background:#f3f7ff;border:1px solid #dbe7ff}
.cv-offer h3{margin-bottom:6px}.cv-offer p{font-size:15px;color:var(--text-2)}
.cv-buy{display:grid;gap:10px}.cv-buy .btn{width:100%;height:44px;font-weight:600;white-space:normal}
.cv-buy small{font-size:12px;line-height:1.6;color:var(--text-3)}
.cv-wait{display:flex;gap:12px;align-items:center;padding:20px;border-radius:12px;background:var(--bg-gray);font-size:15px}
.cv-spin{width:18px;height:18px;border-radius:50%;border:2px solid var(--primary-bg);border-top-color:var(--primary);animation:cvspin .8s linear infinite;flex:none}
@keyframes cvspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.cv-spin{animation:none}}
.cv-new{margin-top:36px}
.cv-newhead{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
.cv-newhead h2{margin:0}.cv-acts{display:flex;flex-wrap:wrap;gap:8px}
.cv-doc{border:1px solid var(--split);border-radius:12px;padding:32px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);overflow-wrap:anywhere}
.cv-doc h3{font-size:26px;margin:0}.cv-hl{font-size:16px;color:var(--text-2)}.cv-ct{font-size:14px;color:var(--text-3);margin-bottom:8px}
.cv-doc h4{font-size:14px;letter-spacing:.04em;color:var(--primary);border-bottom:1px solid var(--split);padding-bottom:4px;margin:22px 0 10px}
.cv-doc p,.cv-doc li{font-size:15px}
.cv-exp{margin-bottom:14px}.cv-exp b{display:block}.cv-exp small,.cv-doc small{font-size:13px;color:var(--text-3)}
.cv-exp ul{margin:6px 0 0 18px;display:grid;gap:4px}
.cv-doc mark{background:#fff4d6;color:inherit;border-radius:3px;padding:0 2px}
.cv-new .muted{margin-top:10px}.cv-new > h3{margin-top:24px}
.cv-consent{margin-top:40px;padding:22px 24px;border:1px solid var(--split);border-radius:14px}
.cv-consent h3{margin-bottom:4px}.cv-consent > p{font-size:15px}
.cv-check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:15px;cursor:pointer}
.cv-check input{margin-top:5px;width:16px;height:16px;flex:none}
.cv-crow{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.cv-crow .cv-field{flex:1;min-width:220px}.cv-crow .btn{height:40px}
.cv-again{margin-top:28px}.cv-again a{display:inline-flex;align-items:center;min-height:44px}
.cv-jobs{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cv-jobs a{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--split);border-radius:10px;transition:border-color .2s}
.cv-jobs a:hover{border-color:var(--primary)}.cv-jobs b{overflow-wrap:anywhere}.cv-jobs span{font-size:13px;color:var(--text-3)}
.cv-faq details{border-bottom:1px solid #e5e7eb;padding:14px 0}
.cv-faq summary{cursor:pointer;font-weight:600;list-style-position:outside}.cv-faq details p{margin-top:8px;color:var(--text-2);font-size:15px}
.cv-modal{position:fixed;inset:0;background:rgba(11,18,32,.45);display:grid;place-items:center;padding:16px;z-index:100}
.cv-modal[hidden]{display:none}
.cv-dialog{position:relative;background:#fff;border-radius:16px;padding:28px;width:100%;max-width:400px;box-shadow:0 24px 64px rgba(11,18,32,.22)}
.cv-dialog h2{font-size:22px;margin:0 0 4px}
.cv-x{position:absolute;right:10px;top:8px;width:36px;height:36px;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:var(--text-3)}
.cv-google{display:flex;gap:10px;align-items:center;justify-content:center;height:44px;margin-top:18px;border:1px solid var(--border);border-radius:10px;font-weight:600;transition:background .2s}
.cv-google:hover{background:var(--bg-gray)}.cv-google[hidden]{display:none}
.cv-or{display:flex;align-items:center;gap:10px;margin:16px 0 0;font-size:13px;color:var(--text-3)}
.cv-or::before,.cv-or::after{content:"";flex:1;height:1px;background:var(--split)}
.cv-or[hidden],.cv-email[hidden]{display:none}
.cv-email .btn{width:100%;height:44px;margin-top:14px;font-weight:600}
.cv-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;z-index:120;max-width:calc(100% - 32px)}
@media (max-width:900px){
  .cv-cols,.cv-offer{grid-template-columns:minmax(0,1fr);gap:20px}
  .cv-doc{padding:20px}
}

/* 第二版（2026-11-07）：登录门槛、存库同意、两档改写、语言 / 模板切换、打印 PDF */
.cv-gate{text-align:center;padding:24px 8px 12px}.cv-gate h2{font-size:22px;margin-bottom:6px}.cv-gate .cv-google{max-width:320px;margin:18px auto 0}
.cv-keep{margin-top:14px;padding:12px;border-radius:10px;background:#f7faff;border:1px solid #dbe7ff}
.cv-keep span{display:grid;gap:4px}.cv-keep b{font-weight:600;font-size:14px}.cv-keep small{font-size:12px;line-height:1.6;color:var(--text-3)}
.cv-offer2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.cv-tier{display:grid;gap:10px;align-content:start;padding:20px;border:1px solid var(--split);border-radius:14px;background:#fff;min-width:0}
.cv-tier-pro{border-color:#dbe7ff;background:#f7faff}
.cv-tier-h{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between}.cv-tier-h h3{margin:0}.cv-tier-h b{color:#16794a}
.cv-tier p{font-size:14px;color:var(--text-2)}.cv-tier .btn{width:100%;height:44px;font-weight:600}
.cv-tier textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;resize:vertical}
.cv-langs{display:flex;flex-wrap:wrap;gap:8px}
.cv-lang{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:999px;font-size:14px;background:#fff;cursor:pointer}
.cv-lang:has(input:checked){border-color:var(--primary);background:var(--primary-bg);color:var(--primary)}
.cv-keepline{font-size:14px;margin-bottom:14px}.cv-keepline .cv-link{margin-left:8px}
.cv-seg{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.cv-seg button,.cv-tpls button{min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:14px;cursor:pointer;color:var(--text-2)}
.cv-seg button.on,.cv-tpls button.on{border-color:var(--primary);background:var(--primary-bg);color:var(--primary);font-weight:600}
.cv-tpls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}.cv-tpls > span{font-size:13px;color:var(--text-3);margin-right:4px}
.cv-paper{background:var(--bg-gray);border-radius:14px;padding:24px}
@media (max-width:640px){.cv-paper{padding:8px}}
#cv-print{display:none}

/* 简历模板：同一份 HTML（docHtml），按 t-* 换版式。屏幕和打印共用 */
.cv-doc{--acc:#1677ff;max-width:794px;margin:0 auto;background:#fff;color:#1f2937;padding:44px 48px;font-size:14px;line-height:1.6;overflow-wrap:anywhere;box-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.06);border-radius:4px}
.cv-doc h3{font-size:26px;line-height:1.25;margin:0;color:#111827}
.cv-doc .d-hl{font-size:15px;color:#374151;margin-top:4px}.cv-doc .d-ct{font-size:13px;color:#6b7280;margin-top:2px}
.cv-doc section{margin-top:18px}
.cv-doc h4{font-size:14px;font-weight:700;color:var(--acc);margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #e5e7eb}
.cv-doc p,.cv-doc li{font-size:13.5px}
.cv-doc .d-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px}.cv-doc .d-row small{color:#6b7280;font-size:12.5px}
.cv-doc .d-row b span{font-weight:400;color:#374151}
.cv-doc .d-exp{margin-bottom:10px}.cv-doc .d-exp ul,.cv-doc .d-tbl ul{margin:4px 0 0 18px;display:grid;gap:2px}
.cv-doc .d-chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.cv-doc .d-chips li{padding:1px 10px;border-radius:999px;background:#eef3ff;color:#1e3a8a;font-size:12.5px}
.cv-doc mark{background:#fff4d6;color:inherit;border-radius:3px;padding:0 2px}
.cv-doc .d-tbl{width:100%;border-collapse:collapse;font-size:13px}
.cv-doc .d-tbl th,.cv-doc .d-tbl td{border:1px solid #d1d5db;padding:6px 8px;vertical-align:top;text-align:left}
.cv-doc .d-tbl th{background:#f3f4f6;font-weight:600;font-size:12.5px}.cv-doc .d-tbl td:first-child{width:24%;white-space:normal;color:#374151}
.cv-doc .d-tbl small{color:#6b7280}
.t-modern .d-head{border-left:4px solid var(--acc);padding-left:14px}
.t-klasik{font-family:Georgia,"Times New Roman","Songti SC",serif}.t-klasik .d-head{text-align:center;border-bottom:2px solid #111827;padding-bottom:12px}
.t-klasik h4{color:#111827;text-transform:none;letter-spacing:0;font-size:15px;border-bottom:1px solid #111827}.t-klasik .d-chips li{background:none;padding:0;color:inherit}
.t-klasik .d-chips li+li::before{content:"· ";color:#9ca3af}
.t-minimal{--acc:#6b7280}.t-minimal h3{font-weight:500;letter-spacing:-.01em}.t-minimal h4{border:0;font-weight:500}.t-minimal .d-chips li{background:#f3f4f6;color:#374151}
.t-eksekutif{padding:0 0 40px;overflow:hidden}.t-eksekutif .d-head{background:#0f172a;color:#fff;padding:32px 48px}.t-eksekutif .d-head h3{color:#fff}
.t-eksekutif .d-hl{color:#cbd5e1}.t-eksekutif .d-ct{color:#94a3b8}.t-eksekutif section{padding:0 48px}.t-eksekutif{--acc:#b45309}
.t-timeline .d-exp{position:relative;padding-left:18px;border-left:2px solid #dbe7ff;margin-left:4px}.t-timeline .d-exp::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--acc)}
.t-kompak{padding:28px 32px}.t-kompak p,.t-kompak li{font-size:12.5px;line-height:1.5}.t-kompak section{margin-top:12px}.t-kompak h3{font-size:22px}
.t-ats{--acc:#111827;box-shadow:none;border:1px solid #e5e7eb}.t-ats h4{text-transform:none;letter-spacing:0;font-size:14px}
.t-jp,.t-kr{--acc:#111827}.t-jp .d-head,.t-kr .d-head{border-bottom:2px solid #111827;padding-bottom:10px}.t-jp h4,.t-kr h4{text-transform:none;letter-spacing:0;font-size:15px;border-bottom:0;background:#f3f4f6;padding:4px 8px}
.t-sidebar{padding:0;overflow:hidden}.t-sidebar .d-head{padding:32px 40px 18px;border-bottom:3px solid var(--acc)}
.t-sidebar .d-cols{display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr)}.t-sidebar aside{background:#f6f8fc;padding:8px 22px 28px}.t-sidebar .d-cols > div{padding:8px 32px 28px}
@media (max-width:640px){.cv-doc{padding:22px 18px}.t-eksekutif .d-head,.t-eksekutif section{padding-left:18px;padding-right:18px}.t-sidebar .d-cols{grid-template-columns:minmax(0,1fr)}.t-sidebar .d-head{padding:22px 18px 14px}.t-sidebar aside,.t-sidebar .d-cols > div{padding:8px 18px 18px}}
@media print{
  @page{size:A4;margin:12mm}
  body > *{display:none !important}
  body > main{display:block !important}
  body > #cv-print{display:block !important}   /* 求职者后台里 #cv-print 直接挂在 body 下 */
  main.cv > *:not(#cv-print){display:none !important}
  #cv-print{display:block !important}
  #cv-print .cv-doc{box-shadow:none;max-width:none;padding:0;border:0}
  #cv-print .t-eksekutif .d-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #cv-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #cv-print .d-exp,#cv-print tr{break-inside:avoid}
}

/* 求职者后台：中国公司资料 /id/cn/、/en/cn/（cn.js） */
.cn-hero .kicker{display:inline-block;font-size:13px;letter-spacing:.06em;color:var(--primary);font-weight:600;margin-bottom:10px}.cn-hero .lead{max-width:760px;margin-top:12px}.cn-acct{margin-top:18px}
.cn-sec{padding-top:32px}.cn-hero{padding-bottom:24px}
.cn-lock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 24px;border-radius:14px;background:#f3f7ff;border:1px solid #dbe7ff;margin-bottom:24px}
.cn-lock h2{font-size:20px;margin:0 0 4px}.cn-lock-a{display:flex;flex-wrap:wrap;gap:10px}.cn-lock-a .cv-google{margin:0;padding:0 16px;background:#fff}.cn-lock-a .btn{height:44px}
.cn-bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:16px}
.cn-search{flex:1;min-width:min(100%,260px)}.cn-search input{width:100%;height:42px;border:1px solid var(--border);border-radius:10px;padding:0 14px;font-size:15px}
.cn-list{display:grid;gap:14px}
.cn-card{padding:20px 22px;border:1px solid var(--split);border-radius:14px;background:#fff;min-width:0;overflow-wrap:anywhere}
.cn-h{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:flex-start}.cn-h h3{margin:0;font-size:18px}
.cn-zh{font-size:14px;color:var(--text-3)}.cn-yr{font-size:13px;color:var(--text-3);white-space:nowrap}
.cn-ind{margin-top:6px;font-size:14px;color:var(--primary)}
.cn-about{margin-top:10px;font-size:15px}
.cn-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px 20px;margin-top:14px}
.cn-facts dt{font-size:12px;color:var(--text-3)}.cn-facts dd{font-size:14px;font-weight:600}
.cn-scope{margin-top:14px}.cn-scope h4{font-size:13px;color:var(--text-3);margin-bottom:4px}.cn-scope p{font-size:14px;color:var(--text-2)}
.cn-scope details{margin-top:6px;font-size:13px}.cn-scope summary{cursor:pointer;color:var(--primary)}
.cn-links{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;margin-top:14px;padding-top:12px;border-top:1px solid var(--split);font-size:14px}
.cn-links > span{color:var(--text-3);font-size:13px}.cn-links a{color:var(--primary);font-weight:600;display:inline-flex;align-items:center;min-height:44px}.cn-links small{color:var(--text-3);margin-right:6px}
.cn-more{text-align:center}.cn-src{margin-top:18px}
@media (max-width:760px){.cn-lock{grid-template-columns:minmax(0,1fr)}}

/* 首页「求职者如何登录」板块 + 右侧抽屉标签（2026-11-07） */
.sk-band{padding:56px 0;background:linear-gradient(180deg,#f3f7ff,#fff)}
.sk-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}
.sk-kick{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--primary);margin-bottom:10px}
.sk-txt h2{margin-bottom:10px}.sk-txt p{color:var(--text-2)}
.sk-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.sk-btns .cv-google{margin:0;padding:0 20px;background:#fff;height:46px}.sk-b2{height:46px}
.sk-note{margin-top:12px;font-size:13px;color:var(--text-3)}
.sk-steps{list-style:none;display:grid;gap:12px}
.sk-steps li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:#fff;border:1px solid var(--split);border-radius:12px}
.sk-steps i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-style:normal;font-weight:700;display:grid;place-items:center;font-size:14px}
.sk-steps div{display:grid;gap:2px;min-width:0}.sk-steps b{font-weight:600}.sk-steps span{font-size:14px;color:var(--text-2)}
@media (max-width:900px){.sk-in{grid-template-columns:minmax(0,1fr);gap:24px}.sk-band{padding:40px 0}}
.sk-tab{position:fixed;right:0;top:46%;z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 9px;border-radius:12px 0 0 12px;background:var(--primary);color:#fff;
  box-shadow:0 4px 14px rgba(15,23,42,.18);font-size:14px;font-weight:600;transform-origin:right center;animation:skwig 9s ease-in-out 2.5s infinite}
.sk-tab span{writing-mode:vertical-rl;letter-spacing:.04em;white-space:nowrap}
.sk-tab:hover{background:#0958d9;animation-play-state:paused}
/* 每 9 秒抖一下（只抖前 8%，其余时间不动，不吵） */
@keyframes skwig{0%,8%,100%{transform:none}1%{transform:translateX(-6px) rotate(-3deg)}2%{transform:translateX(0) rotate(3deg)}3%{transform:translateX(-5px) rotate(-3deg)}4%{transform:translateX(0) rotate(2deg)}5%{transform:translateX(-3px) rotate(-1deg)}6%{transform:none}}
@media (prefers-reduced-motion:reduce){.sk-tab{animation:none}}
@media (max-width:640px){.sk-tab{top:auto;bottom:96px;padding:10px 7px;font-size:12px;gap:6px}}
/* 手机上「新版本」弹窗铺满底部会盖住标签：弹窗开着时先收起标签，关掉弹窗再出来 */
.sk-tab{transition:opacity .25s}
@media (max-width:640px){body:has(.upd-pop.on) .sk-tab{opacity:0;pointer-events:none}}
@media print{.sk-tab{display:none !important}}

/* ---------- 求职者后台 /id|en|zh/seeker/（2026-11-07 第二版，负责人：「简单一点，信息密度高一点，干净利落」）----------
   admin-ui 规格：冷白底 #F6F7F9、白面板细线 #E8EBF0、行线 #F1F3F6；字 #0F172A / #475569 / #64748B / #94A3B8；
   主按钮近黑 #0F172A，选中 / 链接亮蓝 #2563EB（浅底 #EEF3FF）；表格 13px，小字 12px，数字等宽 */
body.sa,.cvp{--ink:#0F172A;--ink2:#475569;--ink3:#64748B;--ink4:#94A3B8;--ln:#E8EBF0;--ln2:#F1F3F6;--blue:#2563EB;--blue-bg:#EEF3FF;
  background:#F6F7F9;color:var(--ink);font-size:14px;line-height:1.55}
body.sa{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:100vh}
.sa .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:is(.sa,.cvp) .btn{height:34px;padding:0 14px;font-size:13.5px;border-radius:8px;border-color:var(--ln);box-shadow:none}
:is(.sa,.cvp) .btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}:is(.sa,.cvp) .btn-primary:hover{background:#1E293B}
:is(.sa,.cvp) .btn-sm{height:30px;padding:0 12px;font-size:13px}
:is(.sa,.cvp) .lnk-blue,:is(.sa,.cvp) .cv-link{color:var(--blue)}
:is(.sa,.cvp) .muted{color:var(--ink3);font-size:13px}
/* 侧栏 */
.sa-side{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--ln);display:flex;flex-direction:column;padding:12px 10px}
.sa-brand{display:flex;align-items:center;gap:8px;padding:4px 8px 14px;font-weight:600;font-size:15px;color:var(--ink)}.sa-brand svg{width:24px;height:24px}
.sa-nav{display:grid;gap:1px}
.sa-nav a{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:6px;color:var(--ink2);font-size:13.5px}
.sa-nav a svg{width:16px;height:16px;flex:none;color:var(--ink4)}
.sa-nav a:hover{background:#F6F7F9;color:var(--ink)}.sa-nav a.on{background:var(--blue-bg);color:var(--blue);font-weight:600}.sa-nav a.on svg{color:var(--blue)}
.sa-s{display:none}
.sa-side-ft{margin-top:auto;display:grid;gap:1px;border-top:1px solid var(--ln);padding-top:8px}
.sa-site{font-size:12.5px;color:var(--ink3);padding:0 10px;min-height:32px;display:flex;align-items:center}
.sa-out{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border:0;background:none;border-radius:6px;color:var(--ink2);font-size:13.5px;cursor:pointer;text-align:left}
.sa-out svg{width:16px;height:16px}.sa-out:hover{background:#FEF2F2;color:#DC2626}
/* 顶栏：标题 + 主操作 + 语言 + 头像 */
.sa-main{min-width:0;display:flex;flex-direction:column}
.sa-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:52px;padding:0 24px;background:#fff;border-bottom:1px solid var(--ln)}
.sa-top h1{font-size:16px;line-height:1.3;margin:0;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-top-r{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.sa-lang select{height:30px;border:1px solid var(--ln);border-radius:6px;background:#fff;padding:0 6px;font-size:12.5px;color:var(--ink2)}
.sa-user{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2);max-width:200px}.sa-user img{border-radius:50%;width:24px;height:24px}.sa-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-views{padding:20px 24px 40px;max-width:1160px;width:100%}
/* 面板 / 数字卡 / 表格 */
.sa-lead{display:none}
.sa-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.sa-kpi{display:grid;gap:0;align-content:start;background:#fff;border:1px solid var(--ln);border-radius:10px;padding:12px 14px;color:var(--ink)}
a.sa-kpi:hover{border-color:#C7D7FE}.sa-kpi span{font-size:12px;color:var(--ink3)}.sa-kpi b{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35}.sa-kpi small{font-size:12px;color:var(--ink4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-kpi.ok b{color:#16A34A}
.sa-bar{height:4px;border-radius:999px;background:var(--ln2);margin-top:8px;overflow:hidden}.sa-bar i{display:block;height:100%;background:var(--blue);border-radius:999px}
.sa-card{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px;margin-bottom:14px;min-width:0}
.sa-card h2{font-size:14px;font-weight:600;margin:0 0 10px}
.sa-card-h{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-bottom:6px}.sa-card-h h2{margin:0}.sa-card-h > div{display:flex;gap:10px;align-items:center}
.sa-table{display:grid;margin:0 -16px}
.sa-tr{display:grid;grid-template-columns:minmax(0,1fr) 92px 56px minmax(0,200px) 16px;gap:12px;align-items:center;padding:8px 16px;border-top:1px solid var(--ln2);color:var(--ink);font-size:13px;min-height:48px}
a.sa-tr:hover{background:#F8FAFF}a.sa-tr::after{content:"›";color:var(--ink4);font-size:16px;text-align:right}
.sa-th{color:var(--ink3);font-size:12px;border-top:1px solid var(--ln2);min-height:32px;background:#FAFBFC}.sa-th::after{content:""}
.sa-f{display:grid;min-width:0}.sa-f b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-f small,.sa-d{color:var(--ink3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-sc{font-variant-numeric:tabular-nums;font-weight:600}.sa-good{color:#16A34A}.sa-mid{color:#B45309}.sa-low{color:#DC2626}
.sa-st{display:flex;flex-wrap:wrap;gap:4px}.sa-st i{font-style:normal;font-size:11.5px;padding:0 8px;line-height:20px;border-radius:999px;background:var(--ln2);color:var(--ink2)}
.sa-empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 4px;color:var(--ink3);font-size:13px}
.sa-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}.sa-dl dt{font-size:12px;color:var(--ink3)}.sa-dl dd{font-weight:600;overflow-wrap:anywhere}
.sa-rules{margin:0;padding-left:18px;display:grid;gap:4px;color:var(--ink2);font-size:13px}
.sa-danger{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}.sa-danger h2{margin:0}.sa-danger p{flex:1 1 300px;margin:0}
.sa-danger .btn{border-color:#FECACA;color:#DC2626;background:#fff}.sa-danger .btn:hover{background:#FEF2F2}
/* 简历诊断：左边上传、右边说明去掉；结果紧凑 */
.sa-cvgrid{display:block;max-width:640px}
:is(.sa,.cvp) .cv-card{border:1px solid var(--ln);border-radius:10px;box-shadow:none;padding:14px 16px}
:is(.sa,.cvp) .cv-tabs{margin-bottom:10px}:is(.sa,.cvp) .cv-tabs button{padding:4px 12px;font-size:13px}
:is(.sa,.cvp) .cv-drop{padding:16px 12px;border-radius:8px}:is(.sa,.cvp) .cv-drop b{font-size:14px}
:is(.sa,.cvp) .cv-field{margin-top:10px;font-size:13px}:is(.sa,.cvp) .cv-field input{height:36px}
:is(.sa,.cvp) .cv-keep{margin-top:10px;padding:8px 10px;border-radius:8px}:is(.sa,.cvp) .cv-keep b{font-size:13px}:is(.sa,.cvp) .cv-keep small{font-size:11.5px;line-height:1.5}
:is(.sa,.cvp) .cv-go{height:38px;margin-top:12px;font-size:14px}
:is(.sa,.cvp) .cv-small{font-size:11.5px;margin-top:8px}
:is(.sa,.cvp) .cv-result{padding-top:16px}
:is(.sa,.cvp) .cv-res{gap:14px;background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px}
:is(.sa,.cvp) .cv-score{width:64px;height:64px;background:radial-gradient(closest-side,#fff 76%,transparent 77%),conic-gradient(var(--c) calc(var(--p)*1%),var(--ln2) 0)}
:is(.sa,.cvp) .cv-score b{font-size:20px}:is(.sa,.cvp) .cv-score span{font-size:10px}
:is(.sa,.cvp) .cv-sum h2{font-size:16px;margin:2px 0}:is(.sa,.cvp) .cv-sum .kicker{font-size:12px}
:is(.sa,.cvp) .cv-cols{gap:14px;margin-top:14px;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
:is(.sa,.cvp) .cv-cols > div{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px}
:is(.sa,.cvp) .cv-cols h3{font-size:13.5px;margin:0 0 8px}
:is(.sa,.cvp) .cv-ok,:is(.sa,.cvp) .cv-warn{gap:4px;margin-bottom:12px}:is(.sa,.cvp) .cv-ok li,:is(.sa,.cvp) .cv-warn li{font-size:13px;padding-left:18px}
:is(.sa,.cvp) .cv-fixes{gap:0}:is(.sa,.cvp) .cv-fixes li{border:0;border-top:1px solid var(--ln2);border-radius:0;padding:10px 0 10px 30px;background:none}:is(.sa,.cvp) .cv-fixes li:first-child{border-top:0;padding-top:2px}
:is(.sa,.cvp) .cv-fixes li::before{left:0;top:10px;width:20px;height:20px;font-size:11.5px}:is(.sa,.cvp) .cv-fixes li:first-child::before{top:2px}
:is(.sa,.cvp) .cv-fixes b{font-size:13.5px}:is(.sa,.cvp) .cv-fixes p{font-size:12.5px}
:is(.sa,.cvp) .cv-pay{margin-top:14px}
:is(.sa,.cvp) .cv-offer2{gap:10px}:is(.sa,.cvp) .cv-tier{padding:14px 16px;border-radius:10px;gap:8px;border-color:var(--ln)}:is(.sa,.cvp) .cv-tier-pro{background:#fff}
:is(.sa,.cvp) .cv-tier h3{font-size:14px}:is(.sa,.cvp) .cv-tier p{font-size:12.5px}:is(.sa,.cvp) .cv-tier .btn{height:36px}
:is(.sa,.cvp) .cv-lang{min-height:30px;padding:0 10px;font-size:12.5px}
:is(.sa,.cvp) .cv-wait{padding:12px 14px;border-radius:10px;background:#fff;border:1px solid var(--ln);font-size:13.5px}
:is(.sa,.cvp) .cv-new{margin-top:14px}:is(.sa,.cvp) .cv-newhead{margin-bottom:10px}:is(.sa,.cvp) .cv-newhead h2{font-size:15px}
:is(.sa,.cvp) .cv-seg button,:is(.sa,.cvp) .cv-tpls button{min-height:30px;padding:0 10px;font-size:12.5px}
:is(.sa,.cvp) .cv-tpls{gap:4px;margin-bottom:10px}
:is(.sa,.cvp) .cv-paper{padding:16px;border-radius:10px;background:#EEF1F5}
:is(.sa,.cvp) .cv-consent{margin-top:14px;padding:14px 16px;border-radius:10px;background:#fff;border-color:var(--ln)}:is(.sa,.cvp) .cv-consent h3{font-size:14px}:is(.sa,.cvp) .cv-consent p{font-size:13px}
:is(.sa,.cvp) .cv-again{margin-top:12px}
/* 中国公司：紧凑行，点开看详情 */
:is(.sa,.cvp) .cn-lock{padding:14px 16px;border-radius:10px;margin-bottom:12px}:is(.sa,.cvp) .cn-lock h2{font-size:15px}
:is(.sa,.cvp) .cn-bar{margin-bottom:10px}:is(.sa,.cvp) .cn-search input{height:36px;font-size:13.5px;border-radius:8px;border-color:var(--ln)}
:is(.sa,.cvp) .cn-list{gap:0;background:#fff;border:1px solid var(--ln);border-radius:10px}
:is(.sa,.cvp) .cn-row{border-top:1px solid var(--ln2)}:is(.sa,.cvp) .cn-row:first-child{border-top:0}
:is(.sa,.cvp) .cn-row > :is(summary,.cn-sum){list-style:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 64px minmax(0,1fr) 16px;gap:12px;align-items:center;padding:10px 16px;min-height:52px;cursor:pointer;font-size:13px}
:is(.sa,.cvp) .cn-row > summary::-webkit-details-marker{display:none}:is(.sa,.cvp) .cn-row > summary::after{content:"›";color:var(--ink4);font-size:16px;text-align:right;transition:transform .15s}
:is(.sa,.cvp) .cn-row[open] > summary::after{transform:rotate(90deg)}:is(.sa,.cvp) .cn-row > summary:hover{background:#F8FAFF}
:is(.sa,.cvp) .cn-row .cn-n{display:grid;min-width:0}:is(.sa,.cvp) .cn-row .cn-n b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(.sa,.cvp) .cn-row .cn-n small{color:var(--ink3);font-size:12px}
:is(.sa,.cvp) .cn-row .cn-c{color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(.sa,.cvp) .cn-row .cn-y{color:var(--ink3);font-variant-numeric:tabular-nums}
:is(.sa,.cvp) .cn-row .cn-l{color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
:is(.sa,.cvp) .cn-body{padding:4px 16px 16px;background:#FAFBFC;border-top:1px solid var(--ln2)}
:is(.sa,.cvp) .cn-body .cn-about{font-size:13.5px;margin-top:10px}:is(.sa,.cvp) .cn-body .cn-facts{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:8px 16px;margin-top:10px}
:is(.sa,.cvp) .cn-body .cn-facts dt{font-size:11.5px}:is(.sa,.cvp) .cn-body .cn-facts dd{font-size:13px}
:is(.sa,.cvp) .cn-body .cn-scope p{font-size:13px}:is(.sa,.cvp) .cn-body .cn-links{font-size:13px;padding-top:8px;margin-top:10px}
:is(.sa,.cvp) .cn-src{font-size:11.5px}
/* 没登录 */
.sa-gate{position:fixed;inset:0;z-index:200;background:#F6F7F9;display:grid;place-items:center;padding:16px}
.sa-gate[hidden]{display:none}
.sa-gate-c{width:100%;max-width:380px;background:#fff;border:1px solid var(--ln);border-radius:12px;padding:28px 24px;text-align:center;display:grid;gap:10px;justify-items:center}
.sa-gate-c .sa-brand{padding:0 0 4px}.sa-gate-c h2{font-size:18px;margin:0}.sa-gate-c .cv-google{width:100%;margin-top:6px}
/* ---------- 求职者站首页（没登录时，seeker-landing.mjs），2026-11-08 ---------- */
body.sa.sa-out-state{display:block;padding:0;background:#fff}
.sa-out-state .sa-side,.sa-out-state .sa-main{display:none}
.ld[hidden]{display:none}
.ld{--ink:#0F172A;--ink2:#475569;--ink3:#64748B;--ln:#E8EBF0;--blue:#2563EB;color:var(--ink);font-size:16px;line-height:1.6;overflow-x:clip}
.ld-w{max-width:1120px;margin:0 auto;padding:0 20px}
.ld h1,.ld h2,.ld h3{letter-spacing:-.01em;margin:0}
.ld-top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--ln)}
.ld-topi{display:flex;align-items:center;gap:24px;height:60px}
.ld-brand{display:flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;min-height:44px;white-space:nowrap;flex:none}.ld-brand svg{width:26px;height:26px;flex:none}.ld-brand b{font-size:16px}
.ld-brand span{font-size:12px;font-weight:600;color:var(--blue);background:#EEF3FF;border-radius:4px;padding:1px 6px}
.ld-nav{display:flex;gap:4px;flex:1}.ld-nav a{color:var(--ink2);text-decoration:none;font-size:14px;padding:0 10px;min-height:44px;display:inline-flex;align-items:center;border-radius:6px}.ld-nav a:hover{color:var(--ink);background:#F4F6F9}
.ld-r{display:flex;align-items:center;gap:8px;margin-left:auto}.ld-r select{height:36px}.ld-r .btn{min-height:36px}
.ld-hero{background:linear-gradient(#fff,#F6F8FB);border-bottom:1px solid var(--ln)}
.ld-hg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.ld-k{font-size:13px;font-weight:600;color:var(--blue);margin:0 0 12px}
.ld h1{font-size:44px;line-height:1.15;font-weight:700;text-wrap:balance}
.ld-lead{font-size:18px;color:var(--ink2);margin:16px 0 0;max-width:34em}
.ld-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:28px}
.ld .ld-go{margin:0;height:50px;padding:0 20px;background:var(--ink);color:#fff;border-color:var(--ink);border-radius:10px;font-size:16px;text-decoration:none}
.ld .ld-go:hover{background:#1E293B}.ld .ld-go svg{background:#fff;border-radius:4px;padding:3px;width:24px;height:24px;box-sizing:border-box}
.ld .ld-go[hidden]{display:none}
.ld-sec{color:var(--blue);font-weight:600;text-decoration:none;font-size:15px;min-height:44px;display:inline-flex;align-items:center}.ld-sec:hover{text-decoration:underline}
.ld-facts{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--ink2)}
.ld-facts li{display:flex;align-items:center;gap:6px}.ld-facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:#16A34A}
.ld-stat{font-size:14px;color:var(--ink3);margin:12px 0 0}
.ld-hv{position:relative;height:460px}
.ld-tag{position:absolute;right:0;top:0;z-index:5;font-size:12px;color:var(--ink3);background:#fff;border:1px solid var(--ln);border-radius:999px;padding:2px 10px}
.ld-sheet,.ld-thumb{--k:.4;position:relative;display:block;overflow:hidden;background:#fff;aspect-ratio:210/297}
.ld-sheet .cv-doc,.ld-thumb .cv-doc{position:absolute;left:0;top:0;width:794px;max-width:none;min-height:1123px;margin:0;transform:scale(var(--k));transform-origin:0 0;box-shadow:none;border-radius:0;pointer-events:none;text-align:left}
.ld-sheet{position:absolute;width:300px;border-radius:6px;box-shadow:0 1px 2px rgba(15,23,42,.06),0 18px 40px rgba(15,23,42,.12);border:1px solid var(--ln)}
.ld-sheet.s1{left:calc(50% - 150px);top:24px;z-index:3}.ld-sheet.s2{left:0;top:60px;z-index:2;transform:rotate(-4deg)}.ld-sheet.s3{right:0;top:60px;z-index:1;transform:rotate(4deg)}
.ld-sec2{padding:72px 0;border-bottom:1px solid var(--ln)}
.ld h2{font-size:30px;line-height:1.25;font-weight:700;text-wrap:balance}
.ld-hd{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 48px;align-items:end}.ld-hd p{margin:0}
.ld-feats{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;border-top:2px solid var(--ink)}
.ld-feats li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;padding:22px 0;border-bottom:1px solid var(--ln)}
.ld-n{font-size:14px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums;padding-top:2px}
.ld-feats h3,.ld-steps h3{font-size:17px;font-weight:650}.ld-feats p,.ld-steps p{margin:6px 0 0;color:var(--ink2);font-size:15px}
.ld-tpls{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 20px}
.ld-tpls a{display:grid;gap:10px;color:var(--ink);text-decoration:none;font-size:14px}
.ld-thumb{border:1px solid var(--ln);border-radius:6px;transition:border-color .15s,box-shadow .15s}
.ld-tpls a:hover .ld-thumb{border-color:#BFD0FE;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.ld-cn{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px 56px;background:#F4F7FB;border-radius:16px;padding:44px}
.ld-cn p{color:var(--ink2);margin:12px 0 8px}
.ld-cn dl{margin:0;display:grid;gap:0;border-top:2px solid var(--ink)}.ld-cn dl div{padding:18px 0;border-bottom:1px solid #DDE3EC}
.ld-cn dt{font-weight:650;font-size:17px}.ld-cn dd{margin:4px 0 0;color:var(--ink2);font-size:15px}
.ld-ab{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:32px 56px;align-items:start}.ld-ab p{color:var(--ink2);margin:12px 0 8px}
.ld-checks{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.ld-checks li{position:relative;padding:16px 0 16px 30px;border-bottom:1px solid var(--ln);font-size:15px}
.ld-checks li::before{content:"";position:absolute;left:4px;top:22px;width:12px;height:7px;border-left:2px solid #16A34A;border-bottom:2px solid #16A34A;transform:rotate(-45deg)}
.ld-steps{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px}
.ld-steps li{border-top:2px solid var(--ink);padding-top:16px}.ld-steps .ld-n{display:block;font-size:32px;line-height:1;margin-bottom:12px;color:var(--ink)}
.ld-faqw{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:24px 48px}
.ld-faq{border-top:2px solid var(--ink)}.ld-faq details{border-bottom:1px solid var(--ln)}
.ld-faq summary{cursor:pointer;list-style:none;color:var(--ink);padding:16px 32px 16px 0;font-weight:600;position:relative;min-height:44px}
.ld-faq summary::-webkit-details-marker{display:none}.ld-faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:20px;color:var(--ink3)}.ld-faq details[open] summary::after{content:"–"}
.ld-faq p{margin:0 0 16px;color:var(--ink2);font-size:15px}
.ld-end{padding:72px 0;text-align:center;background:#F6F8FB}.ld-end p{color:var(--ink2);margin:8px 0 24px}.ld-end .ld-go{display:inline-flex}
.ld-foot{padding:20px 0;font-size:13px;color:var(--ink3)}.ld-foot .ld-w{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.ld-foot a{color:var(--ink2);min-height:44px;display:inline-flex;align-items:center}
@media (max-width:960px){
  .ld-nav{display:none}.ld-hg{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:36px}
  .ld-hv{height:400px;max-width:560px;width:100%;margin:0 auto}.ld-sheet{width:240px}.ld-sheet.s1{left:calc(50% - 120px)}
  .ld-feats{grid-template-columns:repeat(2,minmax(0,1fr))}.ld-tpls{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ld-cn,.ld-ab,.ld-hd,.ld-faqw{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .ld-w{padding:0 16px}.ld-topi{gap:8px}.ld-brand span{display:none}
  .ld h1{font-size:32px}.ld-lead{font-size:16px}.ld h2{font-size:24px}
  .ld-cta{flex-direction:column;align-items:stretch}.ld .ld-go{justify-content:center}.ld-sec{justify-content:center}
  .ld-hv{height:300px}.ld-sheet{width:180px}.ld-sheet.s1{left:calc(50% - 90px)}
  .ld-feats,.ld-steps{grid-template-columns:minmax(0,1fr)}.ld-tpls{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .ld-sec2,.ld-end{padding:48px 0}.ld-cn{padding:24px 20px;border-radius:12px}
}
@media (prefers-reduced-motion:reduce){.ld-thumb{transition:none}}

@media (max-width:1000px){.sa-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  body.sa{grid-template-columns:minmax(0,1fr);padding-bottom:58px}
  .sa-side{position:fixed;inset:auto 0 0 0;top:auto;height:auto;z-index:50;flex-direction:row;padding:0;border-right:0;border-top:1px solid var(--ln)}
  .sa-side .sa-brand,.sa-side-ft{display:none}
  .sa-nav{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;gap:0}
  .sa-nav a{flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:4px 2px;border-radius:0;font-size:10.5px;text-align:center;line-height:1.2}
  .sa-nav a span{overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.sa-nav .sa-l{display:none}.sa-nav .sa-s{display:block}
  .sa-top{padding:0 14px}.sa-views{padding:12px 12px 28px}.sa-user span{display:none}
  .sa-kpi{padding:10px 12px}.sa-kpi b{font-size:18px}
  :is(.sa,.cvp) .cv-cols{grid-template-columns:minmax(0,1fr)}
  .sa-tr{grid-template-columns:minmax(0,1fr) 44px 12px;grid-template-areas:"f s a" "t t t";row-gap:4px}.sa-tr .sa-f{grid-area:f}.sa-tr > span:nth-child(3){grid-area:s;text-align:right}.sa-tr .sa-st{grid-area:t}.sa-tr .sa-d{display:none}.sa-th{display:none}
  :is(.sa,.cvp) .cn-row > :is(summary,.cn-sum){grid-template-columns:minmax(0,1fr) 12px;grid-template-areas:"n a" "c c"}:is(.sa,.cvp) .cn-row .cn-n{grid-area:n}:is(.sa,.cvp) .cn-row .cn-c{grid-area:c}:is(.sa,.cvp) .cn-row .cn-y,:is(.sa,.cvp) .cn-row .cn-l{display:none}
  :is(.sa,.cvp) .lnk-blue{min-height:44px;display:inline-flex;align-items:center}
  /* 手机上能点的东西至少 40px 高 */
  :is(.sa,.cvp) .btn,:is(.sa,.cvp) .btn-sm,.sa-lang select,:is(.sa,.cvp) .cv-tabs button{min-height:40px;height:40px}
  .sa-top{height:56px}
}
@media print{.sa-side,.sa-top{display:none !important}}

/* 简历模板库（求职者后台「我的简历」）+ 主色色块 */
.cv-accs,.sa-accs{display:inline-flex;align-items:center;gap:6px;margin-left:6px}.sa-accs small{font-size:12px;color:#64748B;margin-right:2px}
.cv-acc{width:20px;height:20px;border-radius:50%;border:2px solid #fff;background:var(--c);box-shadow:0 0 0 1px #E8EBF0;cursor:pointer;padding:0}
.cv-acc.on{box-shadow:0 0 0 2px var(--c)}
.cv-tpls .cv-acc,.sa .cv-tpls .cv-acc{background:var(--c);min-height:0;padding:0;border:2px solid #fff;border-radius:50%}
.sa-hasjob .sa-cvgrid{display:none}   /* 打开已有的一份：不显示上传框，结果顶上来；「+ 诊断新简历」在顶栏 */
.sa-hasjob .sa .cv-result,.sa-hasjob .cv-result{padding-top:0}
.sa-libp{margin:-2px 0 12px}
.sa-lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:12px}
.sa-tpl{margin:0;display:grid;gap:6px;align-content:start;min-width:0}
.sa-tpl-thumb{--k:.2;position:relative;display:block;width:100%;aspect-ratio:210/297;overflow:hidden;padding:0;border:1px solid #E8EBF0;border-radius:6px;background:#fff;cursor:pointer;transition:border-color .15s}
.sa-tpl-thumb:hover{border-color:#C7D7FE}
.sa-tpl.on .sa-tpl-thumb{border-color:#2563EB;box-shadow:0 0 0 1px #2563EB}
.sa-tpl-thumb .cv-doc{position:absolute;left:0;top:0;width:794px;max-width:none;min-height:1123px;margin:0;transform:scale(var(--k));transform-origin:0 0;box-shadow:none;border-radius:0;pointer-events:none;text-align:left}
.sa-tpl figcaption{display:grid;gap:2px}.sa-tpl figcaption b{font-size:13px}.sa-tpl figcaption small{font-size:11.5px;color:#64748B;line-height:1.45}
.sa-tpl figcaption .btn{justify-self:start;margin-top:4px}
@media (max-width:900px){.sa-lib{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sa-card-h .sa-accs{margin-left:0}.cv-acc{width:32px;height:32px}}

/* 首页底部给求职者的窄条（只在印尼文站） */
.sk-strip{background:#f3f7ff;border-top:1px solid #dbe7ff}
.sk-strip-in{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.sk-strip-in > span{display:inline-flex;gap:8px;align-items:center;color:var(--primary);min-width:0}.sk-strip-in b{color:var(--text);font-weight:600}
.sk-strip .cv-google{margin:0;padding:0 18px;background:#fff;height:44px}

/* 公开的简历诊断页 /id|en|zh/cv/（2026-11-07 第二版，和求职者后台同一套样式） */
main.cvp{background:#F6F7F9;padding-bottom:40px}
.cvp-top{padding:32px 0 8px}
.cvp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:40px;align-items:start}
.cvp-kick{display:inline-block;font-size:12.5px;font-weight:600;color:var(--blue);margin-bottom:8px}
.cvp-intro h1{font-size:30px;line-height:1.3;font-weight:600;color:var(--ink)}
.cvp-lead{margin-top:10px;font-size:15px;color:var(--ink2);max-width:560px}
.cvp-steps{list-style:none;margin-top:20px;background:#fff;border:1px solid var(--ln);border-radius:10px;max-width:560px}
.cvp-steps li{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-top:1px solid var(--ln2)}.cvp-steps li:first-child{border-top:0}
.cvp-steps i{flex:none;width:22px;height:22px;border-radius:50%;background:var(--blue-bg);color:var(--blue);font-style:normal;font-weight:700;font-size:12px;display:grid;place-items:center;margin-top:1px}
.cvp-steps span{display:grid;gap:1px;min-width:0}.cvp-steps b{font-size:14px;font-weight:600}.cvp-steps small{font-size:12.5px;color:var(--ink3)}
.cvp .cv-gate{text-align:left;padding:4px 0}.cvp .cv-gate h2{font-size:17px;margin:0 0 4px}.cvp .cv-gate .cv-google{max-width:none;margin:14px 0 0}
.cvp .cv-acct{font-size:13px;margin-bottom:10px}
.cvp .cv-result{padding-top:20px}
.cvp-faq{padding-top:24px}
.cvp-panel{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px 6px}
.cvp-panel h2{font-size:15px;font-weight:600;margin:0 0 6px}
.cvp-panel details{border-top:1px solid var(--ln2)}
.cvp-panel summary{color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:14px;font-weight:500;cursor:pointer;list-style:none}
.cvp-panel summary::-webkit-details-marker{display:none}.cvp-panel summary::after{content:"›";color:var(--ink4);font-size:16px;transition:transform .15s}
.cvp-panel details[open] summary::after{transform:rotate(90deg)}
.cvp-panel details p{font-size:13.5px;color:var(--ink2);padding:0 0 12px}
@media (max-width:900px){.cvp-grid{grid-template-columns:minmax(0,1fr);gap:20px}.cvp-top{padding-top:20px}.cvp-intro h1{font-size:24px}.cvp-steps{display:none}}

/* 公开的中国公司页 /id|en|zh/cn/（2026-11-07 第二版，和求职者后台同一套：一家一行，点开看详情） */
.cvp-head{padding:28px 0 16px}
.cvp-head h1{font-size:28px;line-height:1.3;font-weight:600;color:var(--ink)}
.cvp-head .cvp-lead{max-width:760px}
.cvp-head .cv-acct{margin-top:12px;font-size:13px}
.cvp .cn-lock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center;background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px;margin-bottom:12px}
.cvp .cn-lock h2{font-size:15px;margin:0 0 2px}.cvp .cn-lock p{font-size:13px}
.cvp .cn-lock-a{display:flex;flex-wrap:wrap;gap:8px}.cvp .cn-lock-a .cv-google{height:38px;margin:0;padding:0 14px;font-size:14px}.cvp .cn-lock-a .btn{height:38px}
.cvp .cn-more{padding:12px 0 4px;text-align:center}
@media (max-width:900px){.cvp-head{padding-top:18px}.cvp-head h1{font-size:22px}.cvp .cn-lock{grid-template-columns:minmax(0,1fr)}.cvp .cn-lock-a .cv-google,.cvp .cn-lock-a .btn{height:44px}}
:is(.sa,.cvp) .cn-row > .cn-sum{cursor:default}
:is(.sa,.cvp) .cn-row .cn-n b{color:var(--ink)}

/* 简历渲染（cvdoc.js，2026-11-07 编辑器第一期）：照片、三种字体、三种间距、证书列表、分享页 */
.cv-doc .d-head.has-photo{display:flex;gap:18px;align-items:center}
.cv-doc .d-photo{width:88px;height:110px;object-fit:cover;border-radius:6px;flex:none;order:2;margin-left:auto}
.cv-doc .d-id{min-width:0;flex:1}
.t-sidebar .d-head.has-photo .d-photo,.t-eksekutif .d-head.has-photo .d-photo{order:0;margin-left:0}
.t-eksekutif .d-photo{border:2px solid rgba(255,255,255,.6)}
.t-klasik .d-head.has-photo{flex-direction:column;text-align:center}.t-klasik .d-photo{order:0;margin:0 auto}
.cv-doc .d-note{font-size:12.5px;color:#6b7280;margin:2px 0 6px}
.cv-doc .d-list{margin:0 0 0 18px;display:grid;gap:2px}
.cv-doc.f-serif{font-family:Georgia,"Times New Roman","Songti SC","Noto Serif SC",serif}
.cv-doc.f-round{font-family:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI",system-ui,sans-serif}
.cv-doc.s-tight section{margin-top:12px}.cv-doc.s-tight p,.cv-doc.s-tight li{font-size:12.5px;line-height:1.45}.cv-doc.s-tight .d-exp{margin-bottom:6px}
.cv-doc.s-airy section{margin-top:24px}.cv-doc.s-airy p,.cv-doc.s-airy li{line-height:1.75}.cv-doc.s-airy .d-exp{margin-bottom:14px}
.cv-doc section{break-inside:auto}.cv-doc .d-exp,.cv-doc .d-row,.cv-doc tr{break-inside:avoid}.cv-doc h4{break-after:avoid}
@media (max-width:640px){.cv-doc .d-head.has-photo{flex-direction:column-reverse;align-items:flex-start}.cv-doc .d-photo{order:0;margin:0;width:72px;height:90px}}
body.cvshare{background:#EEF1F5;margin:0}
.cvshare-m{max-width:880px;margin:0 auto;padding:16px}
.cvshare-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:13px}
.cvshare-bar a{color:#475569;min-height:40px;display:inline-flex;align-items:center}.cvshare-bar span{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.cvshare-bar .cvshare-cta{color:#2563EB;font-weight:600}.cvshare mark{background:none;color:inherit}.cvshare-bar button{height:36px;padding:0 16px;border:1px solid #E8EBF0;border-radius:8px;background:#0F172A;color:#fff;cursor:pointer}
@media print{body.cvshare{background:#fff}.cvshare-bar{display:none}.cvshare-m{padding:0;max-width:none}.cvshare .cv-paper{padding:0;background:none}.cvshare .cv-doc{box-shadow:none;padding:0;max-width:none}}

/* ---------- 简历编辑器（builder.js，2026-11-07 第一期）：顶栏 + 左表单右预览 + 工具条；和求职者后台同一套颜色 ---------- */
body.sa-editing .sa-top{display:none}
body.sa-editing .sa-views{max-width:none;padding:0}
.bd{display:flex;flex-direction:column;min-height:100vh}
.bd-bar{position:sticky;top:0;z-index:25;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:52px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--ln)}
.bd-back{display:inline-flex;align-items:center;gap:4px;min-height:36px;color:var(--ink2);font-size:13.5px;padding-right:6px}
.bd-title{flex:0 1 260px;min-width:120px;height:34px;border:1px solid transparent;border-radius:6px;padding:0 8px;font:600 14px var(--font);color:var(--ink)}
.bd-title:hover{border-color:var(--ln)}.bd-title:focus{border-color:var(--blue);outline:0}
.bd-lang{font-size:11.5px;padding:0 8px;line-height:20px;border-radius:999px;background:var(--ln2);color:var(--ink2)}
.bd-status,.bd-q{font-size:12px;color:var(--ink4);white-space:nowrap}
.bd-sp{flex:1}
.sa .bd-ic{width:34px;padding:0;font-size:16px}.sa .bd-ic:disabled{opacity:.35}
.bd-dl{position:relative}.bd-dl summary{list-style:none;display:inline-flex;align-items:center}.bd-dl summary::-webkit-details-marker{display:none}
.bd-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;background:#fff;border:1px solid var(--ln);border-radius:8px;box-shadow:0 12px 32px rgba(15,23,42,.14);padding:4px;min-width:160px;display:grid}
.bd-menu a,.bd-menu button{display:flex;align-items:center;min-height:36px;padding:0 12px;border:0;background:none;border-radius:6px;font-size:13.5px;color:var(--ink);cursor:pointer;text-align:left}
.bd-menu a:hover,.bd-menu button:hover{background:#F6F7F9}
.bd-tabs{display:none}
.bd-body{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);flex:1;min-height:0}
.bd-form{padding:16px;border-right:1px solid var(--ln);background:#F6F7F9;overflow:auto;max-height:calc(100vh - 52px);position:sticky;top:52px}
.bd-s{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:12px 14px;margin-bottom:10px}.bd-s.hid{opacity:.55}
.bd-sh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.bd-sh h3{font-size:14px;margin:0}
.bd-sbtn{display:inline-flex;gap:2px}.bd-sbtn button{width:28px;height:28px;border:1px solid var(--ln);background:#fff;border-radius:6px;color:var(--ink2);cursor:pointer;font-size:13px;line-height:1}
.bd-sbtn button:disabled{opacity:.3;cursor:default}.bd-sbtn button.off{color:var(--ink4)}
.bd-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.bd-f{display:grid;gap:3px;min-width:0;font-size:12px;color:var(--ink3)}.bd-f.w{grid-column:1 / -1}
.bd-f input,.bd-f textarea,.bd-chips input,.bd-tools select{width:100%;min-width:0;border:1px solid var(--ln);border-radius:6px;padding:0 9px;height:34px;font:13.5px var(--font);color:var(--ink);background:#fff}
.bd-f textarea{height:auto;padding:7px 9px;line-height:1.5;resize:vertical}
.bd-f input:focus,.bd-f textarea:focus,.bd-chips input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-bg)}
.bd-item{border-top:1px solid var(--ln2);padding:10px 0 4px}.bd-item:first-of-type{border-top:0;padding-top:2px}
.bd-ih{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.bd-ih b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.bd-add{border:1px dashed #C7D7FE;background:var(--blue-bg);color:var(--blue);border-radius:6px;min-height:32px;padding:0 12px;font-size:13px;cursor:pointer;margin-top:6px}
.bd-add.bd-del{background:#fff;border-color:#FECACA;color:#DC2626}.bd-addx{width:100%;min-height:40px}
.bd-xbtns{display:flex;flex-wrap:wrap;gap:8px}
.bd-row3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) 28px;gap:8px;align-items:end;margin-bottom:6px}
.bd-x{width:28px;height:34px;border:1px solid var(--ln);background:#fff;border-radius:6px;color:var(--ink3);cursor:pointer}
.bd-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bd-chips span{display:inline-flex;align-items:center;gap:4px;padding:0 4px 0 10px;line-height:28px;border-radius:999px;background:var(--blue-bg);color:#1E3A8A;font-size:12.5px;max-width:100%;overflow-wrap:anywhere}
.bd-chips span button{border:0;background:none;color:#64748B;cursor:pointer;width:22px;height:22px;font-size:14px}
.bd-chips input{flex:1 1 160px}
.bd-photo{display:flex;gap:12px;align-items:center;margin-bottom:10px}.bd-photo > div:last-child{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bd-ph{width:56px;height:70px;border-radius:6px;background:var(--ln2);display:grid;place-items:center;overflow:hidden;flex:none;color:var(--ink4)}.bd-ph img{width:100%;height:100%;object-fit:cover}
.bd-pl{width:100%;font-size:12px;color:var(--ink3)}
.bd-aiw{margin-top:6px}
.bd-ai{border:1px solid #DDD6FE;background:#F5F3FF;color:#6D28D9;border-radius:999px;min-height:30px;padding:0 12px;font-size:12.5px;cursor:pointer}
.bd-ai:hover{background:#EDE9FE}
.bd-sug{display:grid;gap:8px;margin-top:8px;padding:10px 12px;border:1px solid #DDD6FE;border-radius:8px;background:#FAF7FF;font-size:13px}
.bd-sug pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.55 var(--font);margin:0}.bd-sug > span{display:flex;gap:6px}
.bd-prev{display:flex;flex-direction:column;min-width:0}
.bd-tools{position:sticky;top:52px;z-index:5;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:8px 16px;background:#fff;border-bottom:1px solid var(--ln);font-size:12px;color:var(--ink3)}
.bd-tools label{display:inline-flex;align-items:center;gap:6px}.bd-tools select{width:auto;height:30px;font-size:12.5px;padding:0 6px}
.bd-accs{display:inline-flex;align-items:center;gap:5px}
.bd-paper{flex:1;padding:16px 12px;background:#EEF1F5}
.bd-page{--k:.8;position:relative;margin:0 auto;width:calc(794px * var(--k))}
.bd-page > .cv-doc{position:absolute;left:0;top:0;width:794px;max-width:none;margin:0;transform:scale(var(--k));transform-origin:0 0;min-height:1123px}
.bd-modal{position:fixed;inset:0;z-index:150;background:rgba(15,23,42,.4);display:grid;place-items:center;padding:16px}.bd-modal[hidden]{display:none}
.bd-dialog{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:12px;padding:20px;box-shadow:0 24px 64px rgba(11,18,32,.22)}
.bd-dialog h2{font-size:17px;margin:0 0 8px}.bd-dialog h4{font-size:13px;margin:12px 0 6px}
.bd-dialog textarea{width:100%;border:1px solid var(--ln);border-radius:8px;padding:8px 10px;font:13.5px var(--font)}
.bd-mact{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.bd-kw{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bd-kw i{display:inline-block;font-style:normal;font-size:12px;padding:0 8px;line-height:22px;border-radius:999px;margin:0 4px 4px 0}
.bd-kw i.ok{background:#E6F4EA;color:#15803D}.bd-kw i.no{background:#FEF2F2;color:#B91C1C}
.bd-langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.bd-link{display:flex;gap:8px;margin-top:10px}.bd-link input{flex:1;min-width:0;height:34px;border:1px solid var(--ln);border-radius:6px;padding:0 8px;font-size:13px}
.bd-busy{position:fixed;inset:0;z-index:300;background:rgba(246,247,249,.85);display:grid;place-items:center}.bd-busy[hidden]{display:none}
.bd-busy > div{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 18px;font-size:14px}
/* 「我的简历」卡片 */
.bd-actions{display:flex;flex-wrap:wrap;gap:8px}.bd-up{cursor:pointer}
.bd-hint{margin:-2px 0 12px}
.bd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:14px}
.bd-card{display:grid;gap:8px;min-width:0}
.bd-thumb{--k:.24;position:relative;display:block;aspect-ratio:210/297;overflow:hidden;border:1px solid var(--ln);border-radius:8px;background:#fff}
.bd-thumb:hover{border-color:#C7D7FE}
.bd-thumb .cv-doc{position:absolute;left:0;top:0;width:794px;max-width:none;min-height:1123px;margin:0;transform:scale(var(--k));transform-origin:0 0;box-shadow:none;border-radius:0;pointer-events:none}
.bd-meta{display:grid;gap:2px;min-width:0}.bd-meta>a{display:flex;align-items:center;min-height:32px;min-width:0}.bd-meta b{font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.bd-meta small{font-size:12px;color:var(--ink3)}
.bd-ops{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sa .bd-ops .bd-del{color:#DC2626;border-color:#FECACA}
@media (max-width:900px){
  body.sa-editing{padding-bottom:0}body.sa-editing .sa-side{display:none}
  .bd-bar{padding:8px 12px}.bd-title{flex:1 1 140px}.bd-status,.bd-q,.bd-lang,.bd-sp{display:none}
  .bd-tabs{display:flex;position:sticky;top:0;z-index:24;background:#fff;border-bottom:1px solid var(--ln)}
  .bd-tabs button{flex:1;min-height:44px;border:0;background:none;font-size:14px;color:var(--ink3);border-bottom:2px solid transparent}.bd-tabs button.on{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}
  .bd-body{grid-template-columns:minmax(0,1fr)}
  .bd-body[data-bd-body="form"] .bd-prev,.bd-body[data-bd-body="prev"] .bd-form{display:none}
  .bd-form{position:static;max-height:none;border-right:0;padding:12px}
  .bd-tools{position:static}
  .bd-g{grid-template-columns:minmax(0,1fr)}.bd-row3{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.bd-row3 > label:nth-child(3){grid-column:1 / -1}.bd-row3 .bd-x{grid-column:2;justify-self:end}
  .bd-sbtn button{width:36px;height:36px}.bd-ai,.bd-add{min-height:40px}.bd-x{width:40px;height:40px}.bd-chips span button{width:32px;height:32px}
  .bd-kw{grid-template-columns:minmax(0,1fr)}
  .bd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sa .bd-ops{gap:4px}.sa .bd-ops .btn{flex:1 1 0;min-width:0;padding:0 6px;justify-content:center}
}
