/* ===== 挖需求 · 共享设计 Token（docs/interaction-design.md §2）===== */
:root{color-scheme:light dark;
  --acc:#2563eb; --warn:#d97706; --ok:#15803d; --info:#1d4ed8;
  --bg:light-dark(#f7f8fa,#141619);
  --card:light-dark(#ffffff,#1d2025);
  --line:light-dark(#e5e7eb,#2c3036);
  --chipbg:light-dark(#eef2f7,#262a31);
  --navbg:light-dark(rgba(247,248,250,.92),rgba(20,22,25,.88));
  --sub:#7b8494;}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:inherit;font-size:15px;line-height:1.6;
  font-family:"PingFang SC","Microsoft YaHei",-apple-system,"Segoe UI",sans-serif;}
.mono{font-family:"SF Mono",ui-monospace,Menlo,monospace}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* ===== 顶栏（全站常驻，含全局搜索）===== */
.topbar{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);
  background:var(--navbg);backdrop-filter:blur(10px)}
.topbar-in{display:flex;align-items:center;gap:20px;padding:13px 0}
.brand{font-weight:800;color:var(--acc);text-decoration:none;display:flex;gap:7px;align-items:center}
.brand .blogo{width:22px;height:22px;border-radius:6px;object-fit:cover;flex:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav-toggle{display:none;border:1px solid var(--line);background:var(--card);color:inherit;border-radius:9px;width:38px;height:36px;font-size:18px;cursor:pointer}
.topbar nav{display:flex;font-size:13.5px}
/* Apple 风格：紧邻布局消除 hover 死区 + 邻项压暗 + 下划线中置展开 + 按压回弹 */
.topbar nav a{position:relative;padding:8px 11px;color:inherit;text-decoration:none;
  opacity:.6;border-radius:8px;
  transition:opacity .25s ease,color .25s ease,
    transform .18s cubic-bezier(.34,1.56,.64,1)}
.topbar nav a::after{content:"";position:absolute;left:11px;right:11px;bottom:3px;height:2px;
  border-radius:2px;background:var(--acc);transform:scaleX(0);
  transform-origin:center;transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.topbar nav a:hover{opacity:1}
.topbar nav a:hover::after,.topbar nav a.on::after{transform:scaleX(1)}
.topbar nav a.on{color:var(--acc)}
.topbar nav a:active{transform:scale(.92)}
@media(hover:hover){
  .topbar nav:hover a:not(:hover){opacity:.38}
}
/* ===== 需求评估 ===== */
.check-hero{max-width:720px;text-align:center;padding:42px 0 24px}
.check-hero h1{font-size:clamp(25px,4vw,32px);font-weight:850}
.check-hero p{margin-top:10px;color:var(--sub);font-size:14.5px}
.check-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:18px;align-items:start;padding-bottom:38px}
.check-form,.check-report{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.cfield{margin-top:20px}.cfield:first-child{margin-top:0}
.cfield>legend,.cfield>.clabel{font-size:13.5px;font-weight:800;margin-bottom:4px;display:block}
.cfield p.chint,.chintline{font-size:12px;color:var(--sub);margin-bottom:10px}
.cfield fieldset{border:0;margin:0;padding:0}
.cinput,.ctextarea{width:100%;border:1px solid var(--line);background:var(--bg);color:inherit;border-radius:10px;padding:10px 12px;font:inherit;outline:none}
.ctextarea{min-height:84px;resize:vertical}
.cinput:focus,.ctextarea:focus{border-color:var(--acc)}
.cchar{text-align:right;font-size:11px;color:var(--sub);margin-top:5px}
.cradio{display:grid;gap:7px;margin-top:9px}
.cradio label,.check-tags label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:9px 11px;font-size:13px;cursor:pointer}
.cradio input,.check-tags input{accent-color:var(--acc)}
.cradio label:has(input:checked),.check-tags label:has(input:checked){border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc);font-weight:700}
.check-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.check-tags label{flex:1 1 130px}
.check-submit{width:100%;min-height:44px;border:0;border-radius:11px;background:var(--acc);color:#fff;font-weight:850;font-size:14px;cursor:pointer;margin-top:20px}
.check-submit:disabled{opacity:.62;cursor:not-allowed}
.check-note{font-size:11.5px;color:var(--sub);text-align:center;margin-top:9px;line-height:1.55}
.report-head{display:flex;justify-content:space-between;align-items:center;gap:14px}
.product-context{margin-top:14px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);display:grid;gap:4px}
.product-context span{font-size:11px;color:var(--sub)}.product-context strong{font-size:13px;line-height:1.55;word-break:break-word}
.verdict{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:800;background:var(--chipbg)}
.verdict.good{color:#15803d;background:#dcfce7}.verdict.warn{color:#b45309;background:#fef3c7}.verdict.bad{color:#b91c1c;background:#fee2e2}
.score{margin:18px 0 6px;display:flex;align-items:center;gap:14px}
.score-ring{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--acc) calc(var(--p)*1%),rgba(127,127,127,.18) 0);position:relative}
.score-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--card)}
.score-ring b{position:relative;z-index:1;font-size:20px}
.dimlist{margin-top:14px;display:grid;gap:8px}
.dim{display:grid;grid-template-columns:94px 1fr 34px;gap:8px;align-items:center;font-size:12.5px}
.bar{height:7px;border-radius:99px;background:rgba(127,127,127,.16);overflow:hidden}
.bar i{display:block;height:100%;background:var(--acc);transform-origin:left center;
  animation:dimbar .8s cubic-bezier(.22,.61,.36,1) backwards}
@keyframes dimbar{from{transform:scaleX(0)}}
.verdict.pop{animation:verdictpop .5s cubic-bezier(.2,.8,.3,1)}
@keyframes verdictpop{from{opacity:0;transform:scale(.6)}60%{transform:scale(1.12)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bar i{animation:none}}
/* ===== AI 水滴精灵（体检页陪伴） ===== */
.ai-mascot{position:fixed;top:190px;right:max(18px,calc((100vw - 1080px)/2 + 24px));
  width:min(300px,24vw);z-index:6;text-align:center;padding:26px 6px 10px;
  transition:top .7s cubic-bezier(.22,.61,.36,1)}
.ai-mascot[hidden]{display:none}
.ai-bubble{position:relative;display:inline-block;max-width:252px;background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-size:12.8px;line-height:1.65;
  box-shadow:0 8px 22px light-dark(rgba(15,23,42,.06),rgba(0,0,0,.24));
  transition:opacity .26s ease,transform .26s ease}
.ai-bubble.swap{opacity:0;transform:translateY(6px)}
.ai-bubble::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;
  background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  transform:translateX(-50%) rotate(45deg)}
.ai-drop{position:relative;display:inline-block;margin-top:18px;width:104px}
.ai-glow{position:absolute;inset:-26%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(37,99,235,.30),rgba(37,99,235,.10) 55%,transparent 72%);
  animation:ai-glow 2.8s ease-in-out infinite}
.ai-drop svg{position:relative;display:block;width:100%;height:auto;
  filter:drop-shadow(0 12px 18px rgba(37,99,235,.28));
  animation:ai-bob 3.6s ease-in-out infinite}
.ai-eye{transform-box:fill-box;transform-origin:center;animation:ai-blink 4.4s ease-in-out infinite}
@media(max-width:900px){.ai-mascot{display:none}}
@keyframes ai-bob{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-13px) rotate(1.6deg)}}
@keyframes ai-glow{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes ai-blink{0%,91%,100%{transform:scaleY(1)}95%{transform:scaleY(.08)}}
@media(max-width:640px){.ad-topic-head{margin-top:45px}}
@media(prefers-reduced-motion:reduce){
  .ai-drop svg,.ai-glow,.ai-eye{animation:none}
}

/* ===== AI 深度解读弹层（居中 + 流光边框） ===== */
#aimodal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px}
#aimodal[hidden]{display:none}
.aimask{position:absolute;inset:0;background:rgba(10,14,22,.55);backdrop-filter:blur(3px)}
.aicard{position:relative;width:min(620px,94vw);display:flex;flex-direction:column;
  max-height:min(80vh,760px);border:1.5px solid transparent;border-radius:18px;
  padding:20px 22px;
  background:linear-gradient(var(--card),var(--card)) padding-box,
    linear-gradient(135deg,rgba(37,99,235,.85),rgba(125,178,255,.35) 42%,rgba(37,99,235,.85)) border-box;
  background-size:auto,230% 230%;
  background-clip:padding-box,border-box;
  animation:aiborder 9s ease-in-out infinite alternate,aiglow 4.5s ease-in-out infinite,
    aipop .55s cubic-bezier(.2,.8,.3,1)}
.aicard-step[hidden],.aicard-foot[hidden],.aicard-think[hidden]{display:none}
.aicard-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.aicard-think{font-size:12.8px;color:var(--acc);font-weight:700;margin-bottom:8px}
.aicard-body{font-size:13.8px;line-height:1.9;white-space:pre-wrap;word-break:break-word;
  overflow-y:auto;min-height:110px;max-height:52vh;padding-right:6px}
.aicard-body.on::after{content:"▍";color:var(--acc);animation:aiblink 1s steps(2) infinite}
.aicard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.aicard-foot .ai-go{margin-left:auto}
@keyframes aiborder{from{background-position:0 0,0% 0}to{background-position:0 0,100% 100%}}
@keyframes aiglow{0%,100%{box-shadow:0 24px 70px rgba(37,99,235,.14),0 0 46px rgba(37,99,235,.10)}
  50%{box-shadow:0 24px 70px rgba(37,99,235,.22),0 0 92px rgba(37,99,235,.20)}}
@keyframes aipop{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}

/* ===== 深度调研定价卡（弹层第二步） ===== */
.aiprice{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.aiprice-num{font-size:38px;font-weight:800;color:var(--acc);letter-spacing:-.03em}
.aiprice-unit{font-size:13px;color:var(--sub);font-weight:700}
.aipitch{font-size:13.2px;line-height:1.75;color:inherit}
.aipitch b{color:var(--acc)}
.aiperks{list-style:none;margin:12px 0;padding:0;display:grid;gap:7px;font-size:13px}
.aiperks li{padding-left:22px;position:relative;line-height:1.6}
.aiperks li:before{content:"✓";position:absolute;left:0;top:0;color:var(--ok);font-weight:800}
.aiteam{border:1px dashed var(--line);border-radius:11px;padding:11px 13px;
  font-size:12.6px;line-height:1.75;color:var(--sub);margin:4px 0 10px}
.aiteam b{color:inherit}
.aiscarce{display:inline-block;background:#fef3c7;color:#b45309;font-weight:700;
  font-size:12px;border-radius:99px;padding:4px 12px}
.ai-back{border:1px solid var(--line);background:transparent;color:inherit;border-radius:9px;
  padding:8px 14px;font-size:12.5px;cursor:pointer}
.ai-dig{border:none;border-radius:9px;background:linear-gradient(135deg,#3b82f6,#2563eb);
  color:#fff;font-weight:700;font-size:13px;padding:10px 16px;cursor:pointer;
  box-shadow:0 6px 18px rgba(37,99,235,.32);transition:transform .2s ease,filter .2s ease}
.ai-dig:hover{transform:translateY(-1px);filter:brightness(1.07)}
.ai-err{background:#fee2e2;color:#b91c1c;font-size:12.5px;border-radius:9px;
  padding:8px 12px;margin-top:10px}
.aidone{font-size:20px;font-weight:800;margin-bottom:8px}
@media(prefers-reduced-motion:reduce){.aicard{animation:none}}

/* ===== 体检报告 AI 深度解读 ===== */
.ai-block{margin-top:18px;border:1px solid color-mix(in srgb,var(--acc) 34%,var(--line));
  border-radius:12px;padding:14px 16px;background:var(--card)}
.ai-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.ai-go{border:none;border-radius:9px;background:var(--acc);color:#fff;font-weight:700;
  font-size:13px;padding:8px 16px;cursor:pointer;transition:filter .2s ease,opacity .2s ease}
.ai-go:hover:not(:disabled){filter:brightness(1.06)}
.ai-go:disabled{opacity:.72;cursor:default}
.ai-out{margin-top:12px;font-size:13.5px;line-height:1.8;white-space:pre-wrap;word-break:break-word;
  border-top:1px dashed var(--line);padding-top:10px}
.ai-out.on::after{content:"▍";color:var(--acc);animation:aiblink 1s steps(2) infinite}
.ai-progress{margin-top:12px}.ai-progress[hidden]{display:none}
.ai-progress-track{height:8px;border-radius:99px;background:var(--chipbg);overflow:hidden}
.ai-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa);transition:width .55s ease}
.ai-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px;font-size:11.5px;color:var(--sub)}
@keyframes aiblink{50%{opacity:0}}

.research-lead{margin-top:16px;border:1px solid color-mix(in srgb,var(--acc) 25%,var(--line));border-radius:14px;padding:16px;background:color-mix(in srgb,var(--card) 93%,var(--acc) 7%)}
.research-lead[hidden]{display:none}.lead-intro h3{font-size:17px;margin:5px 0}.lead-intro p{font-size:12.5px;color:var(--sub);line-height:1.65}
.lead-kicker{display:inline-block;color:var(--acc);font-size:11px;font-weight:800;letter-spacing:.08em}
.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}.lead-grid label{font-size:12px;font-weight:750;display:grid;gap:6px}.lead-grid label>span{color:#dc2626}.lead-wide{grid-column:1/-1}
.lead-grid .ctextarea{min-height:88px}.lead-consent{display:flex;align-items:flex-start;gap:7px;margin-top:12px;font-size:11.5px;line-height:1.55;color:var(--sub)}.lead-consent input{margin-top:2px;accent-color:var(--acc)}
.lead-submit{width:100%;border:0;border-radius:9px;background:#111827;color:#fff;font-size:13px;font-weight:800;padding:10px 14px;margin-top:12px;cursor:pointer}.lead-submit:disabled{opacity:.65;cursor:default}
.lead-state{font-size:12px;color:#b91c1c;line-height:1.55;margin-top:8px}.lead-state.ok{color:var(--ok)}.lead-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.tasklist{margin-top:14px;display:grid;gap:8px}
.task{border-left:3px solid var(--acc);padding:9px 11px;background:var(--bg);border-radius:0 9px 9px 0;font-size:13px}
.receipt{margin-top:14px;font-size:11.5px;color:var(--ok)}
@media(max-width:900px){.check-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .ai-progress-track i{transition:none}
  .topbar nav a,.topbar nav a::after{transition:none}
  .topbar nav a:active{transform:none}
  .global-search-mask,.global-search-panel{animation:none}
}
@media(max-width:520px){.lead-grid{grid-template-columns:1fr}.lead-wide{grid-column:auto}}
.topbar .grow{flex:1}
.gsearch{width:min(240px,34vw);padding:7px 12px;border-radius:8px;border:1px solid var(--line);
  background:var(--card);color:inherit;font-size:13px;outline:none}
.gsearch:focus{border-color:var(--acc)}
.site-search-trigger{order:4;display:inline-flex;align-items:center;gap:9px;min-height:34px;padding:6px 9px 6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:inherit;font:700 12px/1.2 inherit;cursor:pointer;box-shadow:0 4px 15px rgba(15,23,42,.04);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.site-search-trigger:hover{border-color:rgba(37,99,235,.55);box-shadow:0 7px 20px rgba(37,99,235,.09)}
.site-search-trigger:active{transform:scale(.97)}
.site-search-trigger kbd{padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--sub);font:600 9px/1.2 "SF Mono",ui-monospace,Menlo,monospace}
body.search-open{overflow:hidden}
.global-search-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-start;justify-content:center;padding:11vh 20px 24px}
.global-search-mask{position:absolute;inset:0;background:rgba(8,18,36,.42);backdrop-filter:blur(10px);animation:search-fade .18s ease-out}
.global-search-panel{position:relative;width:min(720px,100%);max-height:min(78vh,720px);display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 75%,var(--acc));border-radius:20px;background:var(--card);box-shadow:0 30px 90px rgba(6,17,38,.32);animation:search-rise .22s cubic-bezier(.22,.61,.36,1)}
.global-search-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 14px}
.global-search-panel>header span{color:var(--acc);font:800 9.5px/1.4 "SF Mono",ui-monospace,Menlo,monospace;letter-spacing:.12em}
.global-search-panel h2{margin-top:4px;font-size:21px;line-height:1.35}
.global-search-close{border:0;background:transparent;color:var(--sub);font:700 12px/1.4 inherit;cursor:pointer;padding:6px}
.global-search-close:hover{color:var(--acc)}
.global-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:0 24px 14px}
.global-search-form input{min-width:0;height:46px;padding:0 15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:inherit;font:inherit;outline:0}
.global-search-form input:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.global-search-form button{padding:0 20px;border:0;border-radius:12px;background:var(--acc);color:#fff;font-weight:800;cursor:pointer}
.global-search-status{min-height:28px;padding:0 24px 8px;color:var(--sub);font-size:11.5px}
.global-search-results{min-height:180px;overflow-y:auto;padding:0 12px 12px}
.global-search-result{display:grid;gap:3px;padding:12px;border:1px solid transparent;border-radius:12px;color:inherit;text-decoration:none;transition:background .16s ease,border-color .16s ease}
.global-search-result:hover,.global-search-result.on{border-color:color-mix(in srgb,var(--acc) 30%,var(--line));background:color-mix(in srgb,var(--acc) 6%,var(--card))}
.global-search-result-meta{color:var(--acc);font-size:10.5px;font-weight:800}.global-search-result b{font-size:14px}.global-search-result small{display:block;color:var(--sub);font-size:11.5px;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-search-result mark,.search-page-item mark{padding:0 2px;border-radius:3px;background:#fef08a;color:#713f12}
.global-search-all{display:block;margin:5px 12px 2px;padding:11px 12px;border-radius:10px;background:var(--bg);color:var(--acc);text-align:center;text-decoration:none;font-size:12px;font-weight:800}
.global-search-empty{display:grid;place-items:center;align-content:center;min-height:180px;padding:28px;text-align:center}.global-search-empty b{font-size:14px}.global-search-empty p{margin-top:5px;color:var(--sub);font-size:12px}.global-search-empty>div{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px}.global-search-empty span{padding:4px 8px;border-radius:999px;background:var(--chipbg);color:var(--sub);font-size:10.5px}
.global-search-panel>footer{display:flex;gap:16px;padding:11px 24px;border-top:1px solid var(--line);color:var(--sub);font:600 9.5px/1.4 "SF Mono",ui-monospace,Menlo,monospace}
@keyframes search-fade{from{opacity:0}to{opacity:1}}@keyframes search-rise{from{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:none}}

/* ===== 独立全站搜索结果页 ===== */
.site-search-page{min-height:70vh;padding-top:46px;padding-bottom:60px}.search-page-head{max-width:820px}.search-page-head>p{color:var(--acc);font:800 10px/1.4 "SF Mono",ui-monospace,Menlo,monospace;letter-spacing:.13em}.search-page-head h1{margin:8px 0 20px;font-size:clamp(28px,4.5vw,42px)}
.search-page-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.search-page-form input{height:50px;padding:0 16px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:inherit;font:inherit;outline:0}.search-page-form input:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.search-page-form button{padding:0 25px;border:0;border-radius:13px;background:var(--acc);color:#fff;font-weight:800;cursor:pointer}
.search-page-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 13px}.search-filter-list{display:flex;flex-wrap:wrap;gap:7px}.search-filter-list button{padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--sub);font-size:11px;cursor:pointer}.search-filter-list button.on{border-color:var(--acc);background:var(--acc);color:#fff}.search-page-meta>p{color:var(--sub);font-size:11.5px;white-space:nowrap}
.search-page-results{display:grid;gap:10px}.search-page-item{display:grid;gap:7px;padding:20px 22px;border:1px solid var(--line);border-radius:15px;background:var(--card);color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.search-page-item:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.42);box-shadow:0 12px 30px rgba(37,99,235,.07)}.search-page-item-top{display:flex;justify-content:space-between;gap:15px;color:var(--sub);font-size:11px}.search-page-item-top span{color:var(--acc);font-weight:800}.search-page-item h2{font-size:18px;line-height:1.45}.search-page-item>p{color:var(--sub);font-size:12.5px;line-height:1.75}.search-page-empty{display:grid;place-items:center;align-content:center;min-height:240px;padding:40px;border:1px dashed var(--line);border-radius:16px;background:var(--card);text-align:center}.search-page-empty p{margin-top:6px;color:var(--sub);font-size:12px}
.btn-login{border:1px solid var(--line);background:transparent;color:inherit;
  border-radius:8px;padding:6px 14px;font-size:12.5px;cursor:pointer}

/* ===== 胶囊徽章 ===== */
.pill{display:inline-block;padding:3px 11px;border-radius:999px;font-size:11.5px;font-weight:700}
.pill-a{background:#dcfce7;color:var(--ok)} .pill-b{background:#dbeafe;color:var(--info)}
.pill-c{background:#fef3c7;color:#b45309} .pill-n{background:var(--chipbg);font-weight:500}
.rate-A,.rate-A−{outline:none}.rate-A{-moz-outline:none}
[class^="dr-rate"],[class*="rate-"]{}
a{color:var(--acc)}

/* ===== 首页 Hero + 筛选 ===== */
.hero{text-align:center;padding:46px 10px 28px}
.hero h1{font-size:clamp(24px,4vw,30px);font-weight:800;letter-spacing:-.01em}
.hero p{margin:10px auto 0;max-width:520px;color:var(--sub);font-size:14.5px}
.hero-search{display:flex;gap:8px;justify-content:center;margin-top:22px}
.hero-search input{width:min(430px,70%);padding:11px 15px;border-radius:10px;
  border:1px solid var(--line);background:var(--card);color:inherit;font-size:14px;outline:none}
.hero-search input:focus{border-color:var(--acc)}
.hero-search button{padding:11px 22px;border:none;border-radius:10px;background:var(--acc);
  color:#fff;font-weight:700;font-size:14px;cursor:pointer}
.hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:16px;font-size:12.5px;color:var(--sub)}
.modes{display:flex;align-items:center;gap:8px;margin:6px 0 14px}
.mode{border:1px solid var(--line);background:transparent;color:inherit;border-radius:999px;
  padding:7px 18px;font-size:13.5px;font-weight:600;cursor:pointer}
.mode.on{background:var(--acc);border-color:var(--acc);color:#fff}
.count{margin-left:auto;font-size:12.5px;color:var(--sub)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.chip{border:1px solid var(--line);background:var(--card);color:inherit;border-radius:999px;
  padding:5px 14px;font-size:12.5px;cursor:pointer}
.chip.on{background:var(--chipbg);border-color:var(--acc);color:var(--acc);font-weight:600}

/* ===== 热度推荐跑马灯（右→左，hover 暂停） ===== */
.rec-wrap{display:flex;align-items:center;gap:10px;margin:20px auto 0;max-width:720px}
.rec-label{flex:0 0 auto;font-size:12px;font-weight:800;color:var(--acc);white-space:nowrap}
.rec-viewport{overflow:hidden;flex:1;min-width:0;
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.rec-track{display:flex;width:max-content;animation:rec-marquee 42s linear infinite}
.rec-viewport:hover .rec-track{animation-play-state:paused}
.rec-seq{display:flex;gap:9px;padding-right:9px}
@keyframes rec-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rec-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none;color:inherit;
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:12.5px;
  transition:border-color .2s ease,transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease}
.rec-item:hover{border-color:var(--acc);transform:translateY(-3px);
  box-shadow:0 8px 20px light-dark(rgba(15,23,42,.09),rgba(0,0,0,.32))}
.rec-kw{font-weight:600;max-width:230px;overflow:hidden;text-overflow:ellipsis}
.rec-heat{color:var(--ok);font-weight:700}
@media(max-width:640px){.rec-wrap{margin-top:16px}.rec-label{display:none}}
@media(prefers-reduced-motion:reduce){
  .rec-track{animation:none}
  .rec-viewport{overflow-x:auto}
  .ocard:hover::before{animation:none}
}

/* ===== 机会卡网格 ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding-bottom:40px}
.ocard{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;cursor:pointer;
  transition:border-color .25s ease,transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease}
.ocard::before{content:"";position:absolute;top:0;left:0;width:62%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,light-dark(rgba(255,255,255,.38),rgba(255,255,255,.10)) 50%,transparent);
  transform:translateX(-170%) skewX(-18deg)}
@media(hover:hover){
  .ocard:hover::before{animation:ocardsheen 1.8s cubic-bezier(.25,.6,.4,1) .05s 1}
}
@keyframes ocardsheen{from{transform:translateX(-170%) skewX(-18deg)}to{transform:translateX(300%) skewX(-18deg)}}
@media(hover:hover){
  .ocard:hover{border-color:color-mix(in srgb,var(--acc) 42%,var(--line));transform:translateY(-6px);
    box-shadow:0 18px 42px light-dark(rgba(15,23,42,.11),rgba(0,0,0,.4)),0 4px 12px light-dark(rgba(15,23,42,.05),transparent)}
  .ocard:active{transform:translateY(-2px)}
}
.otags{display:flex;gap:6px;flex-wrap:wrap}
.otitle{font-size:15px;font-weight:700;line-height:1.35}
.opain{font-size:12.8px;color:var(--sub);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ofoot{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:10px;
  border-top:1px dashed var(--line);font-size:11.5px;color:var(--sub)}
.openlnk{display:inline-flex;align-items:center;gap:6px;margin-left:auto;background:none;border:none;
  color:var(--acc);font-size:12px;font-weight:700;cursor:pointer}
.openlnk .pk{width:36px;height:21px;overflow:visible;flex:0 0 auto}
.pk-ground{stroke:#a1887f;stroke-width:2;stroke-linecap:round;opacity:0}
.pk-handle{stroke:#2563eb;stroke-width:3;stroke-linecap:round}
.pk-handle2{stroke:rgba(255,255,255,.35);stroke-width:.9;stroke-linecap:round}
.pk-claw{fill:#3b82f6;stroke:#1d4ed8;stroke-width:.6}
.pk-tip{fill:#bfdbfe}
.pk-dirt{fill:#a1887f;opacity:0}
.pk-gem{fill:#7db2ff;stroke:#2563eb;stroke-width:1;opacity:0}
.pk-dig{transform-box:view-box;transform-origin:38px 24px;transform:rotate(0)}
.pk-d1{--dx:-7px;--dy:-9px}.pk-d2{--dx:-5px;--dy:-8px}.pk-d3{--dx:-3px;--dy:-10px}
@media(hover:hover){
  .ocard:hover .pk-dig{animation:pkdig 2.8s ease-in-out infinite}
  .ocard:hover .pk-ground{animation:pkground 2.8s ease-in-out infinite}
  .ocard:hover .pk-dirt{animation:pkdirt 2.8s ease-out infinite}
  .ocard:hover .pk-gem{animation:pkgem 2.8s ease-out infinite}
}
@keyframes pkdig{0%{transform:rotate(0)}5%{transform:rotate(26deg)}11%{transform:rotate(-46deg)}
  14%{transform:rotate(-39deg)}18%{transform:rotate(-45deg)}26%{transform:rotate(0)}
  45%{transform:rotate(9deg)}52%{transform:rotate(-22deg)}58%,100%{transform:rotate(0)}}
@keyframes pkground{0%,8%{opacity:0}12%,42%{opacity:.9}70%,100%{opacity:0}}
@keyframes pkdirt{0%,9%{opacity:0;transform:translate(0,0)}13%{opacity:1}
  34%,100%{opacity:0;transform:translate(var(--dx),var(--dy))}}
@keyframes pkgem{0%,10%{opacity:0;transform:translateY(8px) scale(.3)}
  15%{opacity:1;transform:translateY(-2.5px) scale(1.05)}20%,74%{opacity:1;transform:translateY(0) scale(1)}
  88%,100%{opacity:0;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){
  .ocard:hover .pk-dig,.ocard:hover .pk-ground,.ocard:hover .pk-dirt,.ocard:hover .pk-gem{animation:none}
  .pk-ground{opacity:.7}
}
.empty{grid-column:1/-1;color:var(--sub);font-size:13px;padding:24px;text-align:center}

/* ===== 详情页 ===== */
.crumb{font-size:12.5px;color:var(--sub);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.shell{max-width:1060px;margin:0 auto;padding:30px 26px 60px;display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:40px}
.kicker{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--sub)}
.dtitle{font-size:clamp(23px,3vw,30px);font-weight:800;margin-top:12px;letter-spacing:-.01em}
.lede{margin-top:8px;color:var(--sub);font-size:14.5px;max-width:56ch}
.dstat{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-bottom:18px;
  border-bottom:1px solid var(--line);font-size:12.5px;color:var(--sub)}
.dsec{margin-top:38px;scroll-margin-top:76px}
.dsec h2{display:flex;gap:9px;align-items:center;font-size:17px;font-weight:800;
  padding-bottom:10px;border-bottom:1px dashed var(--line)}
.dic{width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;background:light-dark(#eaf0fe,#232b3b);font-size:13px}
.dlist{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.dlist li{padding-left:18px;position:relative}
.dlist li::before{content:"";position:absolute;left:2px;top:.66em;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.voice{margin-top:14px;border-left:3px solid var(--warn);border-radius:0 10px 10px 0;
  background:light-dark(#fffbeb,#2a2417);padding:12px 16px;font-size:13.5px}
.cmp{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.cmp-row{display:grid;grid-template-columns:1fr 22px 1fr;gap:10px}
.cmp-cell{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13px}
.cmp-cell s{color:var(--sub)}
.cmp-cell.gap{border-color:light-dark(#fecaca,#4a2525);background:light-dark(#fef2f2,#2a1c1c)}
.cmp-arrow{display:flex;align-items:center;justify-content:center;color:var(--sub)}
.sig-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.sig-card{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.sig-top{display:flex;justify-content:space-between;align-items:center;font-size:11px}
.src-pill{background:var(--chipbg);border-radius:999px;padding:2px 9px;color:var(--sub);font-weight:600}
.heat{color:var(--ok);font-weight:700;font-size:12px}
.sig-quote{font-size:12.8px;opacity:.92}
.chips-x{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.chipx{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:var(--card);
  border-radius:999px;padding:6px 13px;font-size:12.5px;text-decoration:none;color:inherit}
.chipx:hover{border-color:var(--acc);color:var(--acc)}
.steps{margin-top:14px;list-style:none;display:flex;flex-direction:column;gap:12px}
.step{display:flex;gap:13px;align-items:flex-start}
.step-n{width:27px;height:27px;flex:none;border-radius:50%;background:var(--acc);color:#fff;
  font-family:ui-monospace,monospace;font-size:13px;display:flex;align-items:center;justify-content:center}
.step b{display:block;font-size:13.8px}
.step p{font-size:12.8px;color:var(--sub)}
.evi{margin-top:16px;border:1px solid var(--line);border-radius:11px;background:var(--card);overflow:hidden}
.evi summary{cursor:pointer;list-style:none;padding:12px 16px;font-size:13px;font-weight:700;display:flex;gap:8px;align-items:center}
.evi summary::-webkit-details-marker{display:none}
.chev{margin-left:auto;color:var(--sub);transition:transform .2s}
.evi[open] .chev{transform:rotate(180deg)}
.tl{border-top:1px solid var(--line);padding:6px 18px 14px}
.tl-item{position:relative;padding:10px 0 10px 22px;font-size:12.8px}
.tl-item::before{content:"";position:absolute;left:4px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--acc)}
.tl-item:not(:last-child)::after{content:"";position:absolute;left:7px;top:26px;bottom:-4px;width:1px;background:var(--line)}
.tl-text{color:var(--text);line-height:1.7}
.tl-source{display:inline-flex;align-items:center;margin-top:7px;padding:5px 10px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:var(--acc);font-size:11.5px;font-weight:750;text-decoration:none;word-break:break-all}
.tl-source:hover{border-color:var(--acc);background:#dbeafe}
.tl-meta{color:var(--sub);font-size:11.5px;margin-right:8px}

/* ===== 右侧 sticky 栏 ===== */
.side{position:sticky;top:76px;align-self:start;display:flex;flex-direction:column;gap:10px}
.toc{border-left:2px solid var(--line);display:flex;flex-direction:column;gap:2px}
.toc a{padding:5px 0 5px 14px;font-size:12.8px;color:var(--sub);text-decoration:none;
  border-left:2px solid transparent;margin-left:-2px}
.toc a.on{color:var(--acc);border-color:var(--acc);font-weight:700}
.side-btn{width:100%;padding:10px 0;border-radius:10px;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .15s}
.btn-watch{border:1.5px solid var(--acc);background:var(--acc);color:#fff}
.btn-watch.watched{background:transparent;color:var(--ok);border-color:var(--ok)}
.btn-share{border:1px solid var(--line);background:var(--card);color:inherit}
.rel{border:1px solid var(--line);border-radius:11px;background:var(--card);padding:13px 15px}
.rel h3{font-size:11.5px;font-weight:700;letter-spacing:.05em;color:var(--sub);margin-bottom:9px}
.rel a{display:block;padding:5px 0;font-size:12.8px;line-height:1.45;color:inherit;text-decoration:none}
.rel a:hover{color:var(--acc)}
.missing{text-align:center;color:var(--sub);padding:80px 20px}

footer.site .police{color:inherit;text-decoration:none;opacity:.85}
footer.site .police:hover{opacity:1;text-decoration:underline}
footer.site .police img{width:14px;height:16px;vertical-align:-3px;margin-right:4px}

footer.site .icp{color:inherit;text-decoration:none;opacity:.75}
footer.site .icp:hover{opacity:1;text-decoration:underline}

/* ===== Toast 与响应式 ===== */
.share-back{position:fixed;inset:0;background:rgba(8,10,14,.58);display:flex;
  align-items:center;justify-content:center;z-index:90;padding:20px}
.share-back[hidden]{display:none}
.share-box{position:relative;width:min(430px,94%);max-height:94%;overflow:auto;
  background:var(--card);color:inherit;border:1px solid var(--line);
  border-radius:14px;padding:22px;animation:popin .18s ease-out}
@keyframes popin{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
.share-lead{font-size:13.5px;font-weight:700;margin-bottom:14px}
.share-x{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:8px;
  border:none;background:light-dark(#eef2f7,#262a31);color:inherit;cursor:pointer;font-size:13px}
.scard{position:relative;overflow:hidden;border-radius:12px;padding:18px;color:#fff;
  background:linear-gradient(135deg,#1e40af,#2563eb)}
.scard::after{content:"";position:absolute;right:-46px;top:-46px;width:150px;height:150px;
  border-radius:50%;background:rgba(255,255,255,.09)}
.sbrand{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;opacity:.88}
.scard h3{margin-top:12px;font-size:17px;font-weight:800;line-height:1.35}
.spills{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px}
.spill{background:rgba(255,255,255,.18);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}
.smini{margin-top:9px;font-size:12.5px;opacity:.92;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.smeta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:10px;
  border-top:1px solid rgba(255,255,255,.28);font-size:11px;opacity:.88}
.share-copy{display:block;width:100%;min-height:86px;margin-top:14px;padding:10px 12px;
  border:1px solid var(--line);border-radius:9px;background:var(--bg);color:inherit;
  font:inherit;font-size:12.8px;line-height:1.55;resize:vertical;outline:none}
.share-copy:focus{border-color:var(--acc)}
.share-actions{display:flex;gap:9px;margin-top:13px}
.share-actions .side-btn{padding:9px 0;font-size:13px}
.hintline{margin-top:11px;text-align:center;font-size:11.5px;color:var(--sub)}
#snackbar{position:fixed;left:50%;bottom:26px;transform:translate(-50%,90px);z-index:98;
  background:#111827;color:#fff;font-size:12.8px;padding:11px 16px;border-radius:12px;
  display:flex;align-items:center;gap:14px;opacity:0;pointer-events:none;
  transition:all .28s ease;box-shadow:0 12px 32px rgba(0,0,0,.28)}
#snackbar.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.sn-act{background:none;border:none;color:#7cb7ff;font-weight:700;font-size:12.5px;
  cursor:pointer;padding:2px 4px;white-space:nowrap}
.sn-act:hover{color:#a9cdff;text-decoration:underline}
.sn-x{background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:11px;padding:2px}
.fav-golink{display:block;font-size:11.5px;color:var(--sub);text-align:center;
  text-decoration:none;margin-top:-4px}
.fav-golink:hover{color:var(--acc)}
.card-hl{border-color:var(--acc)!important;animation:cardpulse 1s ease-in-out 2}
@keyframes cardpulse{50%{box-shadow:0 0 0 7px rgba(37,99,235,.18)}}
.ocard.kfocus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.kbd-hint{font-size:11px;color:var(--sub);white-space:nowrap}
@media(max-width:820px){.kbd-hint{display:none}}
.favbtn{background:none;border:none;color:var(--sub);cursor:pointer;font-size:12px;padding:0}
.favbtn.faved{color:var(--warn);font-weight:700}
.lib-bar{display:flex;align-items:baseline;gap:12px;padding-top:30px;margin-bottom:14px}
.lib-bar h2{font-size:19px;font-weight:800}
.lib-bar .mono{font-size:12px;color:var(--sub)}
.rem{margin-left:auto;background:none;border:none;color:var(--sub);cursor:pointer;font-size:12px}
.rem:hover{color:#dc2626}
#toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,90px);z-index:99;
  background:#111827;color:#fff;font-size:12.8px;padding:9px 18px;border-radius:999px;
  opacity:0;transition:all .28s ease;pointer-events:none}
#toast.show{transform:translate(-50%,0);opacity:1}
footer.site{padding:18px 0 26px;text-align:center;font-size:11.5px;color:var(--sub)}
footer.site a{color:var(--sub);text-decoration:none;border-bottom:1px solid var(--line)}
footer.site a:hover{color:var(--acc);border-color:var(--acc)}
footer.site .footer-brand{font-size:12.5px;font-weight:700;color:var(--ink);letter-spacing:.02em}
footer.site .footer-filing{margin-top:7px;line-height:1.8}

/* ===== 研究实验室 ===== */
.lab-list-page,.lab-detail-page{padding-top:36px;padding-bottom:54px}.lab-intro{max-width:780px;padding:30px 0 24px}.lab-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:#8eafff}.lab-intro .lab-eyebrow{color:var(--acc)}.lab-intro h1{font-size:34px;line-height:1.3;margin:9px 0 12px}.lab-intro>p:last-child{color:var(--sub);line-height:1.9}.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lab-case-card{display:flex;flex-direction:column;min-height:240px;padding:24px;border:1px solid var(--line);border-radius:17px;background:var(--card);color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.lab-case-card:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.45);box-shadow:0 14px 36px rgba(37,99,235,.09)}.lab-card-meta,.lab-card-foot{display:flex;justify-content:space-between;gap:15px;color:var(--sub);font-size:12px}.lab-case-card h2{font-size:20px;line-height:1.5;margin:18px 0 9px}.lab-case-card>p{color:var(--sub);font-size:13.5px;line-height:1.8}.lab-card-foot{margin-top:auto;padding-top:20px}.lab-card-foot b{color:var(--acc)}.lab-empty{grid-column:1/-1;text-align:center;padding:52px 25px;border:1px dashed var(--line);border-radius:17px;background:var(--card)}.lab-empty p{margin:8px 0 14px;color:var(--sub)}.lab-empty a{color:var(--acc)}
.lab-breadcrumb{font-size:12px;color:var(--sub);margin-bottom:20px}.lab-breadcrumb a{color:var(--acc)}.lab-hero{padding:44px 50px;border-radius:24px;background:#14213d;color:#fff;box-shadow:0 20px 55px rgba(20,33,61,.13)}.lab-hero h1{max-width:900px;font-size:40px;line-height:1.25;margin:12px 0 16px}.lab-hero>p:not(.lab-eyebrow){max-width:800px;color:#c8d0e2;line-height:1.8}.lab-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.lab-pills>*{padding:7px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:12px}.lab-pills b{background:#e8f1ff;color:#174da6;border-color:#e8f1ff}.lab-reading{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start;margin-top:24px}.lab-stack{display:grid;gap:16px}.lab-section{padding:27px 29px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.lab-section h2{font-size:19px;margin-bottom:14px}.lab-section h3{font-size:14px;margin:18px 0 7px}.lab-section p,.lab-section li{color:var(--sub);font-size:13.5px;line-height:1.85}.lab-section ol{padding-left:22px}.lab-conclusion{border-left:4px solid var(--acc)}.lab-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab-evidence{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}.lab-evidence>div{display:flex;justify-content:space-between;gap:8px;font-size:12px}.lab-evidence>div span{color:var(--sub)}.lab-evidence a,.lab-evidence small{display:block;margin-top:9px;color:var(--acc);font-size:12px;overflow-wrap:anywhere}.lab-evidence img{display:block;max-width:100%;max-height:260px;margin-top:10px;border-radius:9px}.lab-evidence em,.lab-state{display:inline-block;margin-top:10px;padding:3px 9px;border-radius:999px;background:#eef4ff;color:#315d9d;font-size:11px;font-style:normal}.lab-uncertainty{padding:14px 16px;margin-bottom:14px;border-radius:11px;background:#fff5e7;color:#8a5314!important}.lab-muted{color:var(--sub)}.lab-update{display:grid;grid-template-columns:95px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.lab-update:first-of-type{border-top:0}.lab-update time{font-size:12px;color:var(--sub)}.lab-update b{font-size:13px}.lab-side{position:sticky;top:84px;display:grid;gap:14px}.lab-side>div{display:grid;gap:10px;padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--card);font-size:12px}.lab-side a,.lab-side span{color:var(--sub)}.lab-side a:hover{color:var(--acc)}.lab-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:26px 30px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.lab-contact p{margin-top:3px;color:var(--sub);font-size:12px}.lab-contact a{color:var(--acc);font-size:13px;font-weight:800;white-space:nowrap}

/* 研究实验室列表：深海研究舱 */
.lab-console{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:54px;min-height:430px;padding:54px 58px;overflow:hidden;border:1px solid rgba(125,178,255,.22);border-radius:26px;background:#0b2347;color:#fff;box-shadow:0 28px 70px rgba(9,31,67,.18)}
.lab-console::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(98,151,229,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(98,151,229,.07) 1px,transparent 1px),radial-gradient(circle at 82% 14%,rgba(45,112,220,.32),transparent 32%);background-size:42px 42px,42px 42px,100% 100%;mask-image:linear-gradient(90deg,transparent 0,#000 42%,#000 100%)}
.lab-console::after{content:"";position:absolute;z-index:-1;left:48%;right:-12%;top:-28%;height:16%;background:linear-gradient(180deg,transparent,rgba(104,172,255,.16),transparent);transform:rotate(-7deg);animation:lab-scan 9s linear infinite}
.lab-console-copy{align-self:center;max-width:650px}.lab-console-eyebrow{display:flex;align-items:center;gap:10px;color:#8ebcff;font:800 11px/1.4 "SF Mono",ui-monospace,Menlo,monospace;letter-spacing:.13em}.lab-console-eyebrow>span{width:8px;height:8px;border-radius:50%;background:#5aa2ff;box-shadow:0 0 0 6px rgba(90,162,255,.10);animation:lab-pulse 2.8s ease-in-out infinite}.lab-console h1{font-size:clamp(35px,4.3vw,53px);line-height:1.18;letter-spacing:-.045em;margin:22px 0 17px}.lab-console-copy>p:not(.lab-console-eyebrow){max-width:620px;color:#b7c8df;font-size:14px;line-height:1.9}.lab-console-link{display:inline-flex;align-items:center;gap:12px;margin-top:30px;color:#fff;text-decoration:none;font-size:12px;font-weight:800}.lab-console-link span{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.24);border-radius:50%;transition:transform .24s ease,background .24s ease}.lab-console-link:hover span{transform:translateY(3px);background:rgba(255,255,255,.08)}
.lab-console-status{align-self:center;padding:22px 23px 19px;border:1px solid rgba(153,194,255,.2);border-radius:18px;background:rgba(4,18,42,.56);box-shadow:inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(10px)}.lab-console-status-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12);font-size:12px}.lab-console-status-head>span{display:flex;align-items:center;gap:7px;color:#83b7ff;font:700 9px/1 "SF Mono",ui-monospace,monospace;letter-spacing:.12em}.lab-console-status-head i{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 12px rgba(74,222,128,.8)}.lab-console-status dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:1px;background:rgba(255,255,255,.09)}.lab-console-status dl>div{display:grid;gap:4px;padding:17px 14px;background:#0a2144}.lab-console-status dt{color:#8fa7c6;font-size:11px}.lab-console-status dd{font:800 27px/1.1 "SF Mono",ui-monospace,Menlo,monospace;color:#fff}.lab-console-status>p{margin-top:14px;color:#7891b1;font-size:10.5px}
.lab-process{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:18px 0 42px;padding:0;list-style:none;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}.lab-process li{position:relative;display:grid;gap:2px;min-width:0;padding:20px 18px;border-left:1px solid var(--line)}.lab-process li:first-child{border-left:0}.lab-process span{color:var(--acc);font:800 10px/1.2 "SF Mono",ui-monospace,monospace;letter-spacing:.08em}.lab-process b{font-size:13px}.lab-process small{color:var(--sub);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-process li::after{content:"";position:absolute;right:-3px;top:50%;z-index:2;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 12%,transparent)}.lab-process li:last-child::after{display:none}
.lab-archive-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;scroll-margin-top:86px}.lab-archive-head p{color:var(--acc);font:800 10px/1.4 "SF Mono",ui-monospace,monospace;letter-spacing:.14em}.lab-archive-head h2{margin-top:3px;font-size:29px}.lab-archive-head>span{color:var(--sub);font-size:11.5px}
.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lab-case-card{position:relative;display:flex;flex-direction:column;min-height:300px;padding:25px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--card);color:inherit;text-decoration:none;animation:lab-card-in .55s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--lab-order)*70ms);transition:transform .26s cubic-bezier(.22,.61,.36,1),border-color .26s ease,box-shadow .26s ease}.lab-case-card::after{content:"";position:absolute;left:-20%;right:-20%;top:-80px;height:1px;background:linear-gradient(90deg,transparent,rgba(61,135,255,.9),transparent);opacity:0;transform:translateY(0);transition:opacity .2s ease}.lab-case-card:hover{transform:translateY(-5px);border-color:rgba(37,99,235,.5);box-shadow:0 18px 46px rgba(20,58,120,.11)}.lab-case-card:hover::after{opacity:1;animation:lab-card-scan 1.25s ease-out}.lab-card-meta,.lab-card-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--sub);font-size:11px}.lab-file-id{font:700 9.5px/1.3 "SF Mono",ui-monospace,monospace;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-card-main{display:block}.lab-card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.lab-card-tags>*{padding:3px 8px;border-radius:999px;background:var(--chipbg);color:var(--sub);font-size:10.5px;font-weight:700}.lab-card-tags strong{background:#dbeafe;color:#1d4ed8}.lab-case-card h2{font-size:20px;line-height:1.5;margin:10px 0 9px}.lab-card-copy>p{color:var(--sub);font-size:13px;line-height:1.78}.lab-card-uncertainty{margin-top:18px;padding:13px 14px;border-left:2px solid #d97706;background:color-mix(in srgb,#d97706 7%,var(--card));border-radius:0 10px 10px 0}.lab-card-uncertainty span{color:#b76a08;font:800 9px/1.3 "SF Mono",ui-monospace,monospace;letter-spacing:.07em}.lab-card-uncertainty p{margin-top:5px;color:var(--sub);font-size:11.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lab-card-foot{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.lab-card-foot b{color:var(--acc)}.lab-card-foot em{color:inherit;font-style:normal;font-weight:800}.lab-card-foot em span{display:inline-block;transition:transform .2s ease}.lab-case-card:hover .lab-card-foot em span{transform:translateX(4px)}.lab-status{display:inline-flex;align-items:center;gap:7px}.lab-status i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 11%,transparent)}.lab-status-pause{color:#b76a08!important}.lab-status-stop{color:#9b3d3d!important}.lab-status-validated{color:#15803d!important}
.lab-case-card.is-featured{grid-column:1/-1;min-height:330px;padding:32px 34px;border-color:rgba(123,174,255,.3);background:#0c2852;color:#fff;box-shadow:0 18px 48px rgba(10,40,82,.12)}.lab-case-card.is-featured::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 46%,rgba(78,143,239,.12) 100%),linear-gradient(rgba(122,172,241,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(122,172,241,.06) 1px,transparent 1px);background-size:100% 100%,32px 32px,32px 32px;mask-image:linear-gradient(90deg,transparent,#000 62%)}.lab-case-card.is-featured .lab-card-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:56px;align-items:end}.lab-case-card.is-featured h2{max-width:720px;font-size:28px;line-height:1.4}.lab-case-card.is-featured .lab-card-meta,.lab-case-card.is-featured .lab-card-copy>p{color:#aebfd7}.lab-case-card.is-featured .lab-card-tags>*{background:rgba(255,255,255,.1);color:#c8d8ed}.lab-case-card.is-featured .lab-card-tags strong{background:#dceaff;color:#174a91}.lab-case-card.is-featured .lab-card-uncertainty{border-left-color:#f3b660;background:rgba(4,18,42,.46)}.lab-case-card.is-featured .lab-card-uncertainty span{color:#ffc97f}.lab-case-card.is-featured .lab-card-uncertainty p{color:#bac9dc}.lab-case-card.is-featured .lab-card-foot{border-color:rgba(255,255,255,.13);color:#aebfd7}.lab-case-card.is-featured .lab-card-foot b,.lab-case-card.is-featured .lab-card-foot em{color:#8ebcff}
.ad-lab-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:55px;align-items:end;margin:68px 0 28px;padding:40px 44px;border-radius:22px;background:#111d34;color:#fff;overflow:hidden;position:relative}.ad-lab-intro::after{content:"AD";position:absolute;right:-18px;top:-58px;color:rgba(112,164,255,.06);font:900 210px/1 "SF Mono",monospace}.ad-lab-intro h2{margin:13px 0 12px;font-size:35px;line-height:1.28}.ad-lab-intro>div>p:last-child{max-width:650px;color:#aebfd7;font-size:13.5px;line-height:1.85}.ad-lab-intro ol{position:relative;z-index:1;display:grid;gap:1px;list-style:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden}.ad-lab-intro li{display:grid;gap:4px;padding:15px 18px;background:rgba(7,19,39,.8)}.ad-lab-intro li b{color:#83b7ff;font-size:11px}.ad-lab-intro li span{color:#c0ccdb;font-size:11.5px}.ad-archive-head{margin-top:0}.ad-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ad-study-card{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:330px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--card);color:inherit;text-decoration:none;animation:lab-card-in .55s both;animation-delay:calc(var(--lab-order)*70ms);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.ad-study-card:hover{transform:translateY(-4px);border-color:rgba(37,99,235,.45);box-shadow:0 18px 46px rgba(20,58,120,.1)}.ad-study-media{display:grid;place-items:center;min-height:260px;overflow:hidden;background:#0c2852;color:#8ebcff;font:800 11px/1 monospace;letter-spacing:.12em}.ad-study-media img,.ad-study-media video{width:100%;height:100%;object-fit:cover}.ad-study-copy{display:flex;flex-direction:column;padding:22px}.ad-study-brand{margin-top:20px;color:var(--acc);font-size:11px;font-weight:800}.ad-study-copy h3{margin:5px 0 12px;font-size:22px}.ad-study-copy blockquote{padding:11px 13px;border-left:2px solid #d97706;background:color-mix(in srgb,#d97706 6%,var(--card));color:var(--sub);font-size:12px}.ad-study-copy dl{display:grid;gap:8px;margin-top:15px}.ad-study-copy dl>div{display:grid;grid-template-columns:45px 1fr;gap:10px;font-size:11.5px}.ad-study-copy dt{color:var(--acc);font-weight:800}.ad-study-copy dd{color:var(--sub);line-height:1.55}.ad-study-foot{display:flex;justify-content:space-between;gap:14px;margin-top:auto;padding-top:17px;border-top:1px solid var(--line);font-size:11px}.ad-study-foot span{color:var(--sub)}.ad-study-foot b{color:var(--acc)}.ad-study-card.is-featured{grid-column:1/-1;grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr)}
.ad-detail-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.75fr);gap:42px;align-items:center;padding:42px 46px;border-radius:23px;background:#0b2347;color:#fff}.ad-detail-hero h1{font-size:42px;line-height:1.25;margin:18px 0 13px}.ad-detail-hero>div:first-child>p:last-of-type{color:#bdcbe0;line-height:1.8}.ad-detail-media{display:grid;place-items:center;min-height:320px;max-height:480px;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:#07182f;color:#7891b1;font-size:12px}.ad-detail-media img,.ad-detail-media video{width:100%;height:100%;max-height:480px;object-fit:contain}.ad-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.ad-facts{display:grid;gap:1px;background:var(--line)}.ad-facts>div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:13px;background:var(--bg)}.ad-facts dt{font-size:11px;color:var(--acc);font-weight:800}.ad-facts dd{font-size:12.5px;color:var(--sub);line-height:1.65}.ad-copy-quote{padding:20px;border-left:3px solid var(--acc);background:var(--bg);color:inherit;font-size:16px;line-height:1.9}.ad-source-note{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px;padding:17px 21px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:11.5px;color:var(--sub)}.ad-source-note b{color:inherit}.ad-source-note a{color:var(--acc);font-weight:800}
.ad-topic-head{margin-top:68px}.ad-topic-head+.ad-lab-intro{margin-top:18px}.ad-study-media{width:100%;min-height:0;aspect-ratio:4/5;align-self:center}
@keyframes lab-scan{from{transform:translateY(-160px) rotate(-7deg)}to{transform:translateY(760px) rotate(-7deg)}}
@keyframes lab-pulse{50%{opacity:.55;box-shadow:0 0 0 11px rgba(90,162,255,0)}}
@keyframes lab-card-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes lab-card-scan{from{transform:translateY(0)}to{transform:translateY(440px)}}
[hidden]{display:none!important}
:focus-visible{outline:3px solid rgba(37,99,235,.55);outline-offset:3px}
@media(max-width:900px){
  .shell{grid-template-columns:1fr}.side{position:static}
  .lab-console{grid-template-columns:1fr;gap:28px;min-height:0;padding:45px 42px}
  .ad-lab-intro,.ad-detail-hero{grid-template-columns:1fr}.ad-study-card,.ad-study-card.is-featured{grid-template-columns:170px 1fr}
  .lab-console-status{width:100%}
  .lab-process{grid-template-columns:repeat(5,minmax(170px,1fr));overflow-x:auto}
  .lab-case-card.is-featured .lab-card-main{grid-template-columns:1fr;gap:8px}
}
@media(max-width:1180px){.topbar .gsearch{display:none}}
@media(max-width:900px){.topbar-in{gap:10px}.topbar nav{font-size:12.5px}.topbar nav a{padding:7px 8px}}
@media(max-width:640px){
  .topbar-in{position:relative;flex-wrap:wrap}
  .nav-toggle{display:grid;place-items:center;margin-left:auto;order:3}
  .topbar nav{display:none;order:10;width:100%;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 32px rgba(0,0,0,.12);grid-template-columns:1fr 1fr}
  .topbar nav.open{display:grid}
  .topbar nav a{padding:10px 12px}
  .topbar .grow{display:none}
  .site-search-trigger{order:2;margin-left:auto;min-height:36px}.topbar-in.has-site-search .nav-toggle{margin-left:0}.site-search-trigger kbd{display:none}
  .global-search-modal{padding:8vh 10px 12px}.global-search-panel{max-height:84vh;border-radius:16px}.global-search-panel>header{padding:18px 16px 12px}.global-search-form{padding:0 16px 12px}.global-search-status{padding:0 16px 7px}.global-search-panel>footer{display:none}
  .search-page-meta{align-items:flex-start;flex-direction:column}.search-page-form{grid-template-columns:1fr}.search-page-form button{height:44px}.search-page-item{padding:17px}.search-page-item-top{align-items:flex-start}.site-search-page{padding-top:32px}
  .hero h1{font-size:22px}
  .lab-grid,.lab-reading,.lab-evidence-grid{grid-template-columns:1fr}.lab-hero{padding:32px 25px;border-radius:18px}.lab-hero h1{font-size:27px}.lab-side{position:static;grid-row:1}.lab-contact{align-items:flex-start;flex-direction:column}.lab-intro h1{font-size:27px}
  .ad-lab-intro{margin-top:45px;padding:30px 24px}.ad-lab-intro h2{font-size:28px}.ad-study-grid,.ad-detail-grid{grid-template-columns:1fr}.ad-study-card,.ad-study-card.is-featured{grid-template-columns:1fr}.ad-study-media{min-height:220px;max-height:340px}.ad-detail-hero{padding:30px 24px}.ad-detail-hero h1{font-size:31px}.ad-detail-media{min-height:240px}
  .lab-list-page{padding-top:18px}.lab-console{padding:34px 24px;border-radius:19px}.lab-console h1{font-size:34px}.lab-console-copy>p:not(.lab-console-eyebrow){font-size:13px}.lab-console-status{padding:18px}.lab-process{margin:12px 0 32px;border-radius:13px}.lab-archive-head{align-items:flex-start;flex-direction:column;gap:4px}.lab-archive-head h2{font-size:25px}.lab-case-card,.lab-case-card.is-featured{min-height:0;padding:23px}.lab-case-card.is-featured h2{font-size:23px}.lab-card-foot{align-items:flex-start;flex-wrap:wrap}.lab-card-foot em{width:100%;padding-top:3px}
}
@media(prefers-reduced-motion:reduce){
  .lab-console::after,.lab-console-eyebrow>span,.lab-case-card,.lab-case-card:hover::after{animation:none!important}
  .lab-case-card,.lab-console-link span,.lab-card-foot em span{transition:none!important}
  .global-search-result,.site-search-trigger,.search-page-item{transition:none!important}
}
/* 机会卡信源外链：先进入站内提醒页，不直接离站。 */
.source-link{color:var(--acc);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.source-link:hover{color:var(--info)}
.external-warning-page{min-height:100vh;display:grid;place-items:center;margin:0;padding:28px;background:light-dark(radial-gradient(circle at top,#eef5ff 0,#f7f9fc 48%,#eef2f8 100%),#141619)}
.external-warning-card{width:min(560px,100%);padding:34px;border:1px solid var(--line);border-radius:24px;background:var(--card);color:light-dark(#101828,#f3f4f6);box-shadow:0 24px 70px rgba(24,48,88,.14);text-align:center}
.external-warning-brand{display:inline-flex;align-items:center;gap:9px;color:inherit;font-weight:800;text-decoration:none}
.external-warning-brand img{width:30px;height:30px;border-radius:7px}
.external-warning-icon{display:grid;place-items:center;width:64px;height:64px;margin:28px auto 18px;border-radius:20px;background:#eaf2ff;color:var(--acc);font-size:32px;font-weight:800}
.external-warning-card h1{margin:0 0 18px;font-size:clamp(26px,5vw,36px);letter-spacing:-.03em}
.external-warning-card p{margin:8px 0;color:var(--sub);line-height:1.7}
.external-warning-host{display:inline-block!important;margin:4px 0 18px!important;padding:9px 15px;border-radius:999px;background:var(--chipbg);color:inherit!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;overflow-wrap:anywhere}
.external-warning-note{max-width:430px;margin:0 auto!important}
.external-warning-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.external-warning-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font-weight:800;text-decoration:none}
.external-warning-back{border:1px solid var(--line);background:var(--card);color:inherit}
.external-warning-continue{border:1px solid var(--acc);background:var(--acc);color:#fff}
.external-warning-actions a:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(39,105,230,.14)}
.external-warning-actions a:focus-visible,.source-link:focus-visible{outline:3px solid rgba(39,105,230,.35);outline-offset:3px}
@media(max-width:640px){.external-warning-page{padding:18px}.external-warning-card{padding:28px 20px;border-radius:20px}.external-warning-actions{grid-template-columns:1fr}}
