/* match.html 专属样式，覆盖 assets/style.css */
.hero.compact .hero-body{padding:24px 0 92px}
.hero.compact .sub{font-size:17px;font-weight:500;letter-spacing:2px}
/* 智能匹配横条 */
.matchbar{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;padding:6px 16px;margin-top:12px}
.matchbar .lft{display:flex;align-items:center;gap:12px;min-width:0}
.matchbar .lft .ico{width:30px;height:30px;border-radius:50%;background:#0b3fb3;color:#fff}
.matchbar .lft .ico svg{width:17px;height:17px}
.matchbar .lft h2{margin:0;font-family:"NotoSC",sans-serif;font-size:20px;font-weight:700;color:var(--navy);white-space:nowrap}
.matchbar .lft .d{font-size:12px;color:#66759f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:10px}
.matchbar .r{grid-template-columns:repeat(4,minmax(0,1fr))}
.matchbar .stat{border-right:0;border-left:1px solid var(--line);padding:2px 0 2px 24px;gap:12px}
.matchbar .stat .l{font-size:11px;font-weight:400;color:#51689d;display:block}
.matchbar .stat .n{font-family:"NotoSC",sans-serif;font-size:20px;font-weight:800;color:#061a7a}
.matchbar .stat .n small{font-size:11px;color:#243a66;margin-left:6px}
.matchbar .stat .ico.bare{width:34px;height:34px}
.matchbar .stat .ico.bare svg{width:30px;height:30px}
/* 三栏 */
.three{grid-template-columns:1.08fr 1fr 1.08fr;gap:12px}
.three>.card{padding:10px 8px 8px}
.three>.card>.sec-h{padding:0 8px;margin-bottom:9px}
.need{display:grid;grid-template-columns:92px minmax(0,1fr) 22px;grid-template-rows:auto auto;column-gap:10px;row-gap:5px;padding:8px 8px 9px;margin-bottom:8px;border:1px solid #eef2f8;border-radius:8px;box-shadow:0 2px 8px rgba(20,60,140,.06);background:#fff;cursor:pointer}
.need:hover,.need.on{border-color:#c9d8f3;box-shadow:var(--shadow)}
.need .im{grid-column:1;grid-row:1}
.need img,.need .ph{width:92px;height:58px;border-radius:6px}
.need .bd{grid-column:2;grid-row:1;min-width:0}
.need h4{display:block;margin:0;font-size:15px;color:var(--navy);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.need .tg{margin-top:3px;white-space:nowrap;overflow:hidden}
.need .tg .tag{margin:0 5px 0 0}
.need .desc{font-size:11.5px;color:#66759f;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.need .go{grid-column:3;grid-row:1;align-self:center;color:var(--blue);display:flex}
.need .go svg{width:18px;height:18px}
.need .core{grid-column:1;grid-row:2;align-self:start;justify-self:start;margin:0;font-weight:700;color:#1247c4;background:#e2effc;padding:3px 8px;border-radius:4px;font-size:10px}
.need .req{grid-column:2/4;grid-row:2;margin:0;padding:0;border:0;font-size:11.5px;min-width:0}
.need .rt{display:flex;align-items:baseline;gap:8px}
.need .rt b{font-size:13px;color:var(--navy)}
.need .rt .dt{margin-left:auto;font-size:11px;color:#6a79a7}
.need .rd{color:#66759f;font-size:11px;line-height:1.45;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lab-r{grid-template-columns:106px minmax(0,1fr) 16px;align-items:start;padding:9px 10px;margin-bottom:8px;border-color:#e4ecf7;gap:10px}
.lab-r img{width:106px;height:74px;border-radius:5px}
.lab-r .bd{min-width:0}
.lab-r h4{margin:0 0 4px;line-height:1.25;color:var(--navy);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lab-r .tg{white-space:nowrap;overflow:hidden}
.lab-r .tag{padding:1px 8px;margin:0 5px 0 0}
.lab-r p{font-size:11px;line-height:1.4;margin:5px 0 0;color:#6b7899;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lab-r .m{margin-top:5px;font-size:11px;color:#6a79a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lab-r .m b{color:var(--blue);font-weight:500}
.lab-r .m i{font-style:normal;color:#d0d9e8;margin:0 8px}
.lab-r .arrow{align-self:center;width:16px;height:16px}
/* 中栏 AI */
.three>.aicenter{background:radial-gradient(ellipse 80% 62% at 50% 38%,#fff 0%,#edf4fe 48%,#dcebfd 100%);padding:10px 12px 8px}
.aicenter h2{font-size:18px;color:var(--navy);gap:6px}
.aicenter h2 .ai{width:20px;height:20px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;background:linear-gradient(135deg,#4a9cff,#1a5ad8);box-shadow:0 0 0 3px rgba(74,156,255,.2)}
.aicenter .d{font-size:12px;color:#6a79a7;margin-top:2px}
.aigraph{display:block;width:100%;max-width:470px;height:auto;margin:4px auto 0}
.radar-wrap{position:relative;background:#fafcff;border:1px solid #e6eef9;border-radius:10px;margin:6px 0 0;padding:8px 12px 4px}
.radar-wrap h3{text-align:center;font-size:13px;color:var(--navy)}
.radar-wrap h3 .rt{font-size:11px;color:#8a97b8;font-weight:400}
#radar{display:block;margin:0 0 0 6%}
.radar-wrap .legend{position:absolute;right:26px;top:54%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:12px;color:#3d4b64;margin:0}
.radar-wrap .legend i{width:18px;height:7px;border-radius:3px;margin-right:6px}
/* 匹配结果 */
.res-card{margin-top:12px;padding:8px 10px 10px}
.res-card .sec-h{padding:0 4px;margin-bottom:6px}
.match-res{gap:11px;margin-top:0}
.mres{padding:8px 10px;border-color:#edf2fa;border-radius:10px;box-shadow:0 1px 3px rgba(20,60,140,.05)}
.mres .h{display:flex;align-items:center;gap:8px}
.mres .h .ico{width:34px;height:34px;border-radius:50%;background:#e5effa;flex:none}
.mres .h .ico svg{width:20px;height:20px}
.mres .nm{min-width:0;flex:1}
.mres .ln{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden}
.mres .ln .en{flex:none}
.mres .ln .xn{overflow:hidden;text-overflow:ellipsis}
.mres .lnk{color:#4a7de0;font-weight:400;font-size:14px}
.mres .fl{width:15px;height:15px;color:#1a5ad8;flex:none}
.mres .sub{display:inline-block;margin-top:3px;background:#d7ecfe;color:#2163ed;font-size:10px;font-weight:600;padding:1px 8px;border-radius:4px}
.mres .h .sc{flex:none;margin-left:6px;display:flex;align-items:baseline;gap:4px;background:linear-gradient(90deg,#cfe4fd,#dfeefd);border-radius:8px;padding:4px 12px;color:#0a4ee8;font-size:12px;font-weight:700;white-space:nowrap}
.mres .h .sc b{font-size:20px;font-weight:800;font-family:"NotoSC",sans-serif;margin:0}
.mres .h .sc em{font-style:normal}
.mres .h .sc.g{background:linear-gradient(90deg,#d4f3de,#e6f8ec);color:#15924a}
.mres .h .sc.o{background:linear-gradient(90deg,#fde6c8,#fef0de);color:#d9760c}
.mres .ft{display:flex;align-items:center;gap:8px;margin-top:7px}
.mres .ft .tags{flex:1;min-width:0;white-space:nowrap;overflow:hidden;margin:0}
.mres .ft .tag{background:#edf4fc;color:#5d79be;font-weight:400;margin:0 5px 0 0}
.mres .acts{display:flex;gap:6px;flex:none}
.mres .acts .btn-s{height:24px;padding:0 12px;font-size:12px;border-radius:6px;font-weight:700}
.mres .acts .btn-w{color:#2452a9;border-color:#c3d4ed}
.mres .acts .btn-p{background:#1f56c7}
/* 路径 / 案例 */
.row.two.bottom>.card{padding:8px 12px 10px}
.row.two.bottom .sec-h{margin-bottom:8px}
.path{margin-top:0;gap:4px;align-items:flex-start}
.path .p{flex:1;min-width:0;gap:7px}
.path .tx{min-width:0}
.path .num{width:26px;height:26px;background:linear-gradient(180deg,#e3f0fe,#d3e8fd);color:#0b52e8;font-size:14px;font-weight:700;flex:none}
.path>svg.arrow{width:14px;height:14px;flex:none;color:#1e54fb;margin-top:7px}
.path b{color:#173286;line-height:1.3;font-size:12.5px;margin-top:3px}
.path span{display:block;font-size:10.5px;line-height:1.4;color:#6d80bb;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cases{gap:10px;margin-top:0}
.case{padding:5px;gap:8px;align-items:center;border-color:#edf2fa}
.case img{width:78px;height:46px;border-radius:5px;flex:none}
.case>div{min-width:0;flex:1}
.case .ch{display:flex;align-items:center;gap:6px}
.case .ch .tag{margin:0}
.case .ch .pill{margin-left:auto;font-size:10px;padding:1px 7px}
.case b{font-size:12px;margin-top:3px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case span{font-size:10.5px;color:#6d80bb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}

@media (max-width:1100px){.three{grid-template-columns:minmax(0,1fr)}.matchbar{grid-template-columns:minmax(0,1fr);row-gap:8px}}
@media (max-width:900px){.matchbar .r{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}.matchbar .lft .d{display:none}.mres .ft{flex-wrap:wrap}.path{flex-wrap:wrap;row-gap:10px}.path .p{min-width:45%}.path>svg.arrow{display:none}.need{grid-template-columns:80px minmax(0,1fr) 18px}.need img,.need .ph{width:80px;height:52px}.mres .h{flex-wrap:wrap}}
@media (max-width:1400px){.filterbar .fld{min-width:110px}}
