/* 布局思路：工程目录式官网——顶部大菜单 + 数据密集的参数表，料号用等宽字体，橙色只用于行动按钮与重点 */
:root{
  --bg:#F4F6F8; --surface:#FFFFFF; --ink:#0F1E2E; --muted:#5A6878; --line:#DCE2E9;
  --brand:#0C3B5E; --tint:#E6EEF5; --accent:#D9531A; --accent-ink:#FFFFFF;
  --ok:#1F7A4D; --okbg:#E3F3EA; --info:#1D5FA8; --infobg:#E4EEFA; --off:#6B7684; --offbg:#ECEFF2;
  --font-display:"PingFang SC","Microsoft YaHei","Noto Sans SC","Source Han Sans SC","Hiragino Sans GB",system-ui,sans-serif;
  --font-body:"PingFang SC","Microsoft YaHei","Noto Sans SC","Source Han Sans SC","Hiragino Sans GB",system-ui,sans-serif;
  --font-mono:ui-monospace,"SFMono-Regular","Cascadia Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --r:6px; --shadow:0 1px 2px rgba(15,30,46,.06),0 6px 20px rgba(15,30,46,.06);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0B1219; --surface:#111B25; --ink:#E5EBF1; --muted:#93A2B2; --line:#223040;
    --brand:#86B9E2; --tint:#152536; --accent:#FF7B3F; --accent-ink:#1A0D05;
    --ok:#5FD39A; --okbg:#12301F; --info:#7DB2F0; --infobg:#14263B; --off:#9AA6B3; --offbg:#1C2733;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.3);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1219; --surface:#111B25; --ink:#E5EBF1; --muted:#93A2B2; --line:#223040;
  --brand:#86B9E2; --tint:#152536; --accent:#FF7B3F; --accent-ink:#1A0D05;
  --ok:#5FD39A; --okbg:#12301F; --info:#7DB2F0; --infobg:#14263B; --off:#9AA6B3; --offbg:#1C2733;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.3);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--brand)}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.3;margin:0;text-wrap:balance}
h1{font-size:clamp(26px,4.2vw,42px);font-weight:900;letter-spacing:-.01em}
h2{font-size:clamp(20px,2.6vw,26px);font-weight:700}
h3{font-size:17px;font-weight:700}
p{margin:0 0 .8em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mono,.pn{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.small{font-size:13px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 顶栏 */
.top{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:22px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;letter-spacing:.02em;white-space:nowrap}
.logo svg{flex:none}
.logo-img{height:38px;width:auto;max-width:180px;object-fit:contain;display:block}
.logo-img.only{height:44px;max-width:260px}
@media (max-width:600px){.logo-img{max-width:120px}.logo-img.only{max-width:190px;height:38px}}
.brand-prev{border:1px dashed var(--line);border-radius:var(--r);padding:14px 16px;background:var(--surface);display:flex;align-items:center;min-height:70px}
.upl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.upl img{height:48px;max-width:200px;object-fit:contain;border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:4px}
.logo small{display:block;font-weight:500;font-size:10.5px;letter-spacing:.12em;color:var(--muted)}
.nav{display:flex;gap:4px;height:100%}
.nav>.ni{position:relative;display:flex;align-items:center}
.nav>.ni>a{padding:0 12px;height:100%;display:flex;align-items:center;font-weight:500;border-bottom:3px solid transparent}
.nav>.ni>a.on{border-bottom-color:var(--accent);color:var(--ink)}
.mega{position:absolute;top:100%;left:-12px;min-width:640px;background:var(--surface);border:1px solid var(--line);border-top:0;box-shadow:var(--shadow);padding:22px;display:none;gap:28px;grid-template-columns:repeat(3,1fr)}
.ni:hover .mega,.ni:focus-within .mega{display:grid}
.mega h4{font-size:12px;letter-spacing:.1em;color:var(--muted);font-weight:700;margin-bottom:8px}
.mega a{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px}
.mega a span{color:var(--muted);font-family:var(--font-mono);font-size:12px}
.mega .mega-foot{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;display:flex;gap:20px;font-size:14px}
.mega .mega-foot a{color:var(--accent);font-weight:700}
.top-tools{margin-left:auto;display:flex;align-items:center;gap:10px}
.tsearch{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);height:38px;padding:0 4px 0 10px;width:260px}
.tsearch input{border:0;background:transparent;outline:0;flex:1;min-width:0;font-size:14px}
.tsearch button{border:0;background:transparent;cursor:pointer;padding:6px;color:var(--muted)}
.chip-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;font-size:14px;white-space:nowrap}
.chip-btn .badge{background:var(--accent);color:var(--accent-ink);border-radius:9px;font-size:11px;padding:0 6px;font-weight:700;line-height:18px}
.acct{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.acct img{width:28px;height:28px;border-radius:50%}
.burger{display:none}
@media (max-width:1080px){.tsearch{width:180px}}
@media (max-width:1180px){
  .nav,.tsearch,.acct .nm{display:none}
  .burger{display:inline-flex}
  .top-in{gap:12px}
}
.drawer{position:fixed;inset:64px 0 0 0;background:var(--surface);z-index:39;overflow:auto;padding:16px 20px 40px;border-top:1px solid var(--line)}
.drawer h4{font-size:12px;color:var(--muted);letter-spacing:.1em;margin:18px 0 6px}
.drawer a{display:block;padding:9px 0;border-bottom:1px solid var(--line)}
.drawer .tsearch{display:flex;width:100%}

.notice{background:var(--infobg);color:var(--info);font-size:14px}
.notice .wrap{padding-top:10px;padding-bottom:10px}
.notice.warn{background:#FFF1E6;color:#8A3A10}
:root[data-theme="dark"] .notice.warn{background:#2D1A0E;color:#FFB58C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .notice.warn{background:#2D1A0E;color:#FFB58C}}

/* 通用 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:500;white-space:nowrap;font-size:14px}
.btn:hover{border-color:var(--brand);color:var(--brand)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}
.btn.pri:hover{filter:brightness(1.06);color:var(--accent-ink)}
.btn.dark{background:var(--brand);border-color:var(--brand);color:var(--surface)}
.btn.sm{height:32px;padding:0 12px;font-size:13px}
.btn.xs{height:28px;padding:0 10px;font-size:12.5px}
.btn.danger{color:#B4321F;border-color:#E9B9B0}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.sec{padding:44px 0}
.sec-h{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.sec-h p{margin:4px 0 0;color:var(--muted)}
.sec-h a.more{color:var(--accent);font-weight:700;font-size:14px}
.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--accent);font-weight:700;margin-bottom:8px}
.crumbs{font-size:13px;color:var(--muted);padding:16px 0 4px;display:flex;gap:6px;flex-wrap:wrap}
.crumbs a:hover{color:var(--brand)}
.pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:700;white-space:nowrap}
.st-量产{background:var(--okbg);color:var(--ok)}
.st-新品{background:#FDE9DD;color:#B2420F}
:root[data-theme="dark"] .st-新品{background:#3A1F10;color:#FFA77A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .st-新品{background:#3A1F10;color:#FFA77A}}
.st-送样{background:var(--infobg);color:var(--info)}
.st-停产{background:var(--offbg);color:var(--off)}
.tag-sample{background:var(--offbg);color:var(--off);font-weight:500}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.grid{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
@media (max-width:980px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.g4,.g3,.g2{grid-template-columns:1fr}}
.empty{padding:36px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r);background:var(--surface)}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:13px;color:var(--muted);font-weight:500}
.inp{height:40px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:0 10px;width:100%}
textarea.inp{height:auto;min-height:90px;padding:8px 10px;line-height:1.6;resize:vertical}
select.inp{padding-right:6px}
.inp:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--tint)}

/* 首页 */
.hero{background:var(--brand);color:#fff;position:relative;overflow:hidden}
:root[data-theme="dark"] .hero{background:#0E2436}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero{background:#0E2436}}
.hero-in{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;padding:52px 20px 48px;align-items:center}
.hero h1{color:#fff}
.hero p.lead{color:#C9D9E7;font-size:16.5px;max-width:34em;margin:14px 0 22px}
.hero .eyebrow{color:#FFB08A}
.bigsearch{display:flex;background:#fff;border-radius:var(--r);overflow:hidden;max-width:560px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.bigsearch input{flex:1;border:0;outline:0;padding:0 16px;height:52px;font-size:15.5px;color:#0F1E2E;background:#fff;min-width:0}
.bigsearch button{border:0;background:var(--accent);color:#fff;font-weight:700;padding:0 22px;cursor:pointer;font-size:15px}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.quick a{font-size:13px;color:#DCE7F0;border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:3px 11px}
.quick a:hover{background:rgba(255,255,255,.1);color:#fff}
.hero-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:18px}
.hero-panel h3{color:#fff;font-size:14px;font-weight:700}
.hero-panel .hp-sub{color:#A9C0D4;font-size:12px;margin-bottom:6px}
.hero-panel svg text{fill:#A9C0D4;font-family:var(--font-mono);font-size:10px}
.hero-panel svg .gl{stroke:rgba(255,255,255,.12)}
.hero-panel svg a circle{fill:#FF8A50;stroke:#0C3B5E;stroke-width:1.5;transition:r .15s}
.hero-panel svg a:hover circle{r:7}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14)}
.stats div{padding:16px 20px;border-right:1px solid rgba(255,255,255,.14)}
.stats div:last-child{border-right:0}
.stats b{display:block;font-family:var(--font-mono);font-size:26px;color:#fff;font-weight:600}
.stats span{font-size:13px;color:#A9C0D4}
@media (max-width:860px){.hero-in{grid-template-columns:1fr;padding-top:36px}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(2){border-right:0}}
.line-group{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--line)}
.line-group:first-of-type{border-top:0}
.line-group h3{font-size:16px}
.line-group .lg-desc{font-size:13px;color:var(--muted);margin-top:4px}
.cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.ctile{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);transition:border-color .15s,transform .15s}
.ctile:hover{border-color:var(--brand);transform:translateY(-2px);color:var(--ink)}
.ctile .ct-n{font-weight:700}
.ctile .ct-d{font-size:13px;color:var(--muted);flex:1}
.ctile .ct-c{font-size:12.5px;color:var(--accent);font-weight:700}
@media (max-width:700px){.line-group{grid-template-columns:1fr;gap:10px}}
.apptile{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);min-height:170px}
.apptile:hover{border-color:var(--brand);color:var(--ink)}
.apptile .code{font-family:var(--font-mono);font-weight:600;font-size:13px;color:var(--brand);background:var(--tint);align-self:flex-start;padding:2px 8px;border-radius:4px}
.apptile p{font-size:13.5px;color:var(--muted);margin:0;flex:1}
.apptile .chain{font-size:12px;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px}
.pcard{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.pcard:hover{border-color:var(--brand);color:var(--ink)}
.pc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pc-cat{font-size:12px;color:var(--muted)}
.pcard .pn{font-size:16px;font-weight:600;color:var(--brand)}
.pc-name{font-size:14px}
.pc-specs{font-size:12.5px;color:var(--muted);font-family:var(--font-mono)}
.newsrow{display:grid;grid-template-columns:110px 1fr auto;gap:16px;padding:14px 0;border-top:1px solid var(--line);align-items:baseline}
.newsrow:first-child{border-top:0}
.newsrow .d{font-family:var(--font-mono);font-size:13px;color:var(--muted)}
.newsrow .t{font-weight:500}
@media (max-width:600px){.newsrow{grid-template-columns:1fr}}
.cta{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r);padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}

/* 选型器 */
.finder-h{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;padding:6px 0 18px}
.finder-h p{margin:6px 0 0;color:var(--muted);max-width:60em}
.cat-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:18px}
.cat-tabs a{white-space:nowrap;padding:6px 12px;border-radius:16px;font-size:13.5px;border:1px solid var(--line);background:var(--surface)}
.cat-tabs a.on{background:var(--brand);border-color:var(--brand);color:var(--surface)}
.finder{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}
@media (max-width:860px){.finder{grid-template-columns:1fr}}
.finder>div,.admin>div,.pd-body>div{min-width:0}
@media (max-width:1180px){.acct .chip-btn{display:none}}
@media (max-width:760px){.pd-img{max-width:240px}}
.fpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);position:sticky;top:76px}
@media (max-width:860px){.fpanel{position:static}}
.fpanel summary{padding:12px 14px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;list-style:none}
.fpanel summary::-webkit-details-marker{display:none}
.fbody{padding:0 14px 14px;display:flex;flex-direction:column;gap:16px}
.fgrp h4{font-size:13px;font-weight:700;margin-bottom:6px;display:flex;justify-content:space-between}
.fgrp h4 span{font-weight:400;color:var(--muted);font-family:var(--font-mono);font-size:11.5px}
.rng{display:flex;gap:6px;align-items:center}
.rng input{height:34px;font-size:13px;font-family:var(--font-mono)}
.chks{display:flex;flex-wrap:wrap;gap:6px}
.chk{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;border:1px solid var(--line);border-radius:14px;padding:3px 10px;cursor:pointer;user-select:none;background:var(--surface)}
.chk input{display:none}
.chk.on{background:var(--tint);border-color:var(--brand);color:var(--brand);font-weight:700}
.chk em{font-style:normal;color:var(--muted);font-size:11px;font-family:var(--font-mono)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.toolbar .inp{max-width:280px;height:36px}
.toolbar .cnt{font-size:13px;color:var(--muted);margin-right:auto}
.toolbar .cnt b{color:var(--ink);font-family:var(--font-mono)}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
table.t{border-collapse:collapse;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}
table.t th,table.t td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:middle}
table.t th{font-size:12px;color:var(--muted);font-weight:700;background:var(--bg);position:sticky;top:0}
table.t th.sortable{cursor:pointer}
table.t th.sortable:hover{color:var(--brand)}
table.t th .u{font-weight:400;font-family:var(--font-mono)}
table.t tr:last-child td{border-bottom:0}
table.t tbody tr:hover td{background:var(--tint)}
table.t td.num{font-family:var(--font-mono);text-align:right}
table.t th.num{text-align:right}
table.t td .pn{color:var(--brand);font-weight:600}
table.t td.wrap{white-space:normal;min-width:180px}
.cbx{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}

/* 详情 */
.pd-head{display:grid;grid-template-columns:280px 1fr;gap:28px;padding:10px 0 24px}
@media (max-width:760px){.pd-head{grid-template-columns:1fr}}
.pd-img{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pd-img img{width:100%;height:100%;object-fit:contain}
.pd-img svg{width:70%;height:70%}
.pd-title .pn{font-size:clamp(24px,3.4vw,34px);font-weight:600;color:var(--brand);line-height:1.2;word-break:break-all}
.pd-title .nm{font-size:17px;margin:6px 0 10px}
.pd-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;font-size:13px;color:var(--muted)}
.keyspecs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:14px 0 18px}
.keyspecs div{background:var(--surface);padding:10px 12px}
.keyspecs span{display:block;font-size:12px;color:var(--muted)}
.keyspecs b{font-family:var(--font-mono);font-size:17px;font-weight:600}
.pd-actions{display:flex;gap:10px;flex-wrap:wrap}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:8px;overflow-x:auto}
.tabs a{padding:10px 14px;font-weight:500;border-bottom:3px solid transparent;white-space:nowrap}
.tabs a.on{border-bottom-color:var(--accent)}
.pd-body{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:22px 0}
@media (max-width:900px){.pd-body{grid-template-columns:1fr}}
.feat{margin:0;padding-left:18px}
.feat li{margin-bottom:4px}
.doclist a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px}
.doclist a:last-child{border-bottom:0}
.doclist .ty{font-size:12px;color:var(--muted)}
.side-box{padding:16px}
.side-box h4{font-size:14px;margin-bottom:10px}

/* 应用 */
.app-hero{padding:8px 0 20px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}
@media (max-width:700px){.app-hero{grid-template-columns:1fr}}
.chainbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;overflow-x:auto}
.chainbox h3{font-size:14px;margin-bottom:4px}
.chain-row{display:flex;align-items:stretch;gap:0;min-width:min-content;padding:14px 0 4px}
.blk{flex:1 0 140px;max-width:220px;border:1.5px solid var(--line);border-radius:var(--r);padding:12px;cursor:pointer;background:var(--bg);text-align:left;display:flex;flex-direction:column;gap:4px}
.blk:hover{border-color:var(--brand)}
.blk.on{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(217,83,26,.12)}
.blk .bi{font-family:var(--font-mono);font-size:11px;color:var(--muted)}
.blk .bn{font-weight:700;font-size:14px}
.blk .bc{font-size:12px;color:var(--accent);font-weight:700}
.arrow{flex:0 0 28px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
@media (max-width:640px){.chain-row{flex-direction:column}.blk{max-width:none;flex:auto}.arrow{flex:0 0 22px;transform:rotate(90deg)}}
.blk-detail{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}

/* 询价/对比浮条 */
.cmpbar{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:35;background:var(--ink);color:var(--surface);border-radius:8px;padding:10px 12px 10px 16px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow);font-size:14px;max-width:calc(100% - 32px)}
.cmpbar .btn{height:32px;font-size:13px}
.cmpbar .btn:not(.pri){background:transparent;color:var(--surface);border-color:rgba(255,255,255,.3)}

/* 后台 */
.admin{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:20px 0 60px}
@media (max-width:800px){.admin{grid-template-columns:1fr}}
.aside{display:flex;flex-direction:column;gap:2px;position:sticky;top:80px;align-self:start}
@media (max-width:800px){.aside{position:static;flex-direction:row;overflow-x:auto}}
.aside a{padding:9px 12px;border-radius:var(--r);font-size:14px;white-space:nowrap}
.aside a.on{background:var(--tint);color:var(--brand);font-weight:700}
.aside .ah{font-size:11px;letter-spacing:.12em;color:var(--muted);padding:6px 12px;font-weight:700}
@media (max-width:800px){.aside .ah{display:none}}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
@media (max-width:700px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{padding:14px 16px}
.kpi span{font-size:12.5px;color:var(--muted)}
.kpi b{display:block;font-family:var(--font-mono);font-size:26px;font-weight:600}
.ahead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .full{grid-column:1/-1}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}
.rows{display:flex;flex-direction:column;gap:8px}
.prow{display:grid;grid-template-columns:110px 1fr 80px 90px 60px 60px 32px;gap:6px;align-items:center}
.prow .inp{height:34px;font-size:13px}
.prow label{font-size:12px;display:flex;align-items:center;gap:4px;color:var(--muted)}
.prow.hd{font-size:11.5px;color:var(--muted);font-weight:700}
.brow{display:grid;grid-template-columns:140px 1fr 1fr 32px;gap:6px;align-items:start}
.brow .inp{height:34px;font-size:13px}
@media (max-width:700px){.prow,.brow{grid-template-columns:1fr 1fr}.prow.hd{display:none}}
.xbtn{width:32px;height:32px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;color:var(--muted)}
.chklist{display:flex;flex-wrap:wrap;gap:6px}
.status-sel{height:30px;font-size:12.5px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:0 6px}

/* 弹窗/提示 */
.modal{position:fixed;inset:0;z-index:60;background:rgba(8,16,26,.55);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.modal[hidden]{display:none}
.mbox{background:var(--surface);border-radius:8px;width:100%;max-width:820px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.mbox.narrow{max-width:440px}
.mhead{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.mbody{padding:20px;display:flex;flex-direction:column;gap:16px}
.mfoot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:var(--bg);border-radius:0 0 8px 8px}
#toast{position:fixed;top:76px;right:16px;z-index:70;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--ink);color:var(--surface);padding:10px 14px;border-radius:var(--r);font-size:14px;box-shadow:var(--shadow);max-width:340px}
.toast.err{background:#9E2B1A;color:#fff}

footer{background:var(--surface);border-top:1px solid var(--line);margin-top:30px}
.foot-in{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px;padding:36px 20px 24px}
.foot-in h4{font-size:13px;margin-bottom:10px}
.foot-in a,.foot-in p{display:block;font-size:13px;color:var(--muted);margin:0 0 6px}
.foot-bot{border-top:1px solid var(--line);font-size:12px;color:var(--muted);padding:14px 20px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media (max-width:760px){.foot-in{grid-template-columns:1fr 1fr}}
.prose{max-width:46em}
.prose p{margin-bottom:1em}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* 页眉防挤压：Logo 较宽时依次收窄搜索框、隐藏账号名和英文名 */
.logo{flex:none}
.nav{flex:none}
.nav>.ni>a{white-space:nowrap}
.acct .nm{white-space:nowrap}
@media (max-width:1320px){.acct .nm{display:none}.tsearch{width:200px}}
@media (max-width:1160px){.tsearch{width:150px}.nav>.ni>a{padding:0 8px}.top-in{gap:14px}.logo small{display:none}}
@media (max-width:1040px){.tsearch{width:auto}}
@media (max-width:600px){.logo-img + span{display:none}.logo-img{max-width:170px}}
/* ---------- 图文正文 ---------- */
.rich h2{font-size:20px;margin:1.6em 0 .6em}
.rich h3{font-size:17px;margin:1.4em 0 .5em}
.rich p{margin:0 0 1em}
.rich ul{margin:0 0 1em;padding-left:1.4em}
.rich li{margin-bottom:.3em}
.rich strong{color:var(--ink)}
.rich a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.rich blockquote{margin:0 0 1em;padding:10px 14px;border-left:3px solid var(--accent);background:var(--tint);border-radius:0 var(--r) var(--r) 0;color:var(--ink)}
.rich figure{margin:1.2em 0}
.rich figure img{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);background:#fff}
.rich figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:6px}
.article{max-width:760px;margin:0 auto;padding:10px 0 30px;font-size:16px;line-height:1.85}
.article h1{margin:6px 0 12px}
.article .lead-sum{font-size:16.5px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}
.article figure.cover{margin:0 0 24px}
.article figure.cover img{aspect-ratio:16/9;object-fit:cover}
/* 资讯卡片与列表缩略图 */
.ncard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ncard:hover{border-color:var(--brand);color:var(--ink)}
.ncard img,.ncard .ph{width:100%;aspect-ratio:16/9;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--tint);color:var(--brand);font-weight:700;font-size:18px;letter-spacing:.1em}
.ncard .nc-b{padding:14px 16px 16px}
.ncard h3{font-size:16px;line-height:1.45}
.newsrow{grid-template-columns:72px 1fr auto;align-items:center}
.newsrow .t{display:block}
.newsrow .d{display:block;font-size:12px;margin-top:2px}
.nthumb{width:72px;height:48px;object-fit:cover;border-radius:4px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--tint);color:var(--brand);font-size:11px;font-weight:700}
@media (max-width:600px){.newsrow{grid-template-columns:64px 1fr}.newsrow .pill{display:none}.nthumb{width:64px;height:44px}}
/* 编辑器 */
.mbox.wide{max-width:1180px}
.rte{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.rte-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px;border-bottom:1px solid var(--line);background:var(--bg)}
.rb{height:30px;padding:0 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface);cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:4px}
.rb:hover{border-color:var(--brand);color:var(--brand)}
.rb-img{border-color:var(--accent);color:var(--accent);font-weight:700}
.rte-tip{font-size:12px;color:var(--muted);margin-left:6px}
.rte-st{font-size:12px;color:var(--accent);margin-left:auto}
.rte-panes{display:grid;grid-template-columns:1fr 1fr;min-height:320px}
.rte-ta{border:0!important;border-radius:0!important;box-shadow:none!important;min-height:320px!important;height:100%;font-family:var(--font-mono);font-size:13px!important;line-height:1.7!important;resize:vertical}
.rte-prev{border-left:1px solid var(--line);padding:12px 16px;max-height:520px;overflow:auto;font-size:14px;max-width:none}
@media (max-width:800px){.rte-panes{grid-template-columns:1fr}.rte-prev{border-left:0;border-top:1px solid var(--line);max-height:360px}}
.src-link{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
/* ---------- 在线仿真 ---------- */
:root{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--sev-ok:#1F7A4D;--sev-okbg:#E3F3EA;--sev-warn:#8A5A00;--sev-warnbg:#FFF3D6;--sev-crit:#A8261B;--sev-critbg:#FDE5E2;--warn-ink:#8A5A00}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--sev-ok:#5FD39A;--sev-okbg:#12301F;--sev-warn:#F2C25C;--sev-warnbg:#3A2C0A;--sev-crit:#FF8A80;--sev-critbg:#3D1512;--warn-ink:#F2C25C}}
:root[data-theme="dark"]{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--sev-ok:#5FD39A;--sev-okbg:#12301F;--sev-warn:#F2C25C;--sev-warnbg:#3A2C0A;--sev-crit:#FF8A80;--sev-critbg:#3D1512;--warn-ink:#F2C25C}
.sev-ok{background:var(--sev-okbg);color:var(--sev-ok)}.sev-warn{background:var(--sev-warnbg);color:var(--sev-warn)}.sev-crit{background:var(--sev-critbg);color:var(--sev-crit)}
.sim{display:grid;grid-template-columns:360px 1fr;gap:20px;align-items:start}
.sim>div{min-width:0}
@media (max-width:980px){.sim{grid-template-columns:1fr}}
.sim-form h4{font-size:13.5px;margin:14px 0 8px}.sim-form h4:first-child{margin-top:0}
.sim-grid{grid-template-columns:1fr 1fr;gap:10px}
.sim-grid .inp{height:36px}
.sim-grid label{font-size:12px}
.topo-list{display:flex;flex-direction:column;gap:6px}
.topo{text-align:left;border:1.5px solid var(--line);border-radius:var(--r);background:var(--bg);padding:9px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.topo b{font-size:14px}.topo span{font-size:12px;color:var(--muted)}
.topo.on{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(217,83,26,.12)}
.sel-chips{display:flex;flex-wrap:wrap;gap:6px}
.selchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:14px;padding:3px 4px 3px 10px;font-size:13px;background:var(--surface)}
.selchip i,.sw,.vz-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}
.sw{margin-right:6px;vertical-align:-1px}
.selchip button{border:0;background:transparent;cursor:pointer;color:var(--muted);width:22px;height:22px;border-radius:50%}
.selchip button:hover{background:var(--tint)}
.cand{display:flex;flex-direction:column;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:var(--r)}
.cand-i{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;padding:8px 10px;border:0;border-bottom:1px solid var(--line);background:var(--surface);cursor:pointer}
.cand-i:last-child{border-bottom:0}.cand-i:hover{background:var(--tint)}
.cand-i .tag{font-size:11px;color:var(--brand);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.sim-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}
.vz{position:relative}
.vz svg{display:block;overflow:visible}
.vz-grid{stroke:var(--line);stroke-width:1}
.vz-axis{stroke:var(--muted);stroke-width:1}
.vz-tick,.vz-axt{fill:var(--muted);font-size:12.5px;font-family:var(--font-mono)}
.vz-axt{font-family:var(--font-body);font-size:12.5px}
.vz-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.vz-end{fill:var(--ink);font-size:12px;font-family:var(--font-mono)}
.vz-mark{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3}
.vz-ref{stroke:var(--sev-crit);stroke-width:1;stroke-dasharray:5 4}
.vz-reflab{fill:var(--sev-crit);font-size:12px}
.vz-cross{stroke:var(--ink);stroke-width:1;opacity:.35}
.vz-hover circle{stroke:var(--surface);stroke-width:2}
.vz-tip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--r);padding:8px 10px;font-size:12px;min-width:160px;z-index:2}
.vz-tip b{display:block;margin-bottom:4px;font-family:var(--font-mono)}
.vz-tip div{display:flex;align-items:center;gap:6px}.vz-tip i{width:8px;height:8px;border-radius:2px;display:inline-block}
.vz-tip span{margin-left:auto;font-family:var(--font-mono);font-weight:600}
.vz-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-bottom:6px;font-family:var(--font-mono)}
.vz-legend span{display:inline-flex;align-items:center;gap:5px}

@media (max-width:1440px){.acct .nm{display:none}}
@media (max-width:1280px){.tsearch{width:170px}.nav>.ni>a{padding:0 9px}}
.dev-sum{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:12px;color:var(--muted)}
.dev-sum b{color:var(--ink)}

/* ===== 选型工具 / 会员 / 运营功能 ===== */
.mega.tools-mega{min-width:520px;grid-template-columns:1fr 1fr;gap:6px 22px}
.mega a.tl{flex-direction:column;justify-content:flex-start;gap:0;padding:8px 0}
.mega a.tl b{font-weight:600}
.mega a.tl span{font-family:var(--font-body);font-size:12.5px}
.acct .nm-s{font-size:11px;color:var(--brand);background:var(--tint);border-radius:9px;padding:0 6px;line-height:18px}
.lang-btn{padding:0 10px;font-weight:700;font-family:var(--font-mono);font-size:13px}
.pill.lock{background:var(--sev-warnbg);color:var(--sev-warn)}
.stk{font-size:12.5px;color:var(--muted);white-space:nowrap}
.stk.ok{color:var(--sev-ok);font-weight:700}
.commerce{margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.commerce .cm-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:13.5px;margin-bottom:8px}
.commerce .cm-row:last-child{margin-bottom:0}
.commerce .stk{font-size:13.5px}
table.t.tiers th,table.t.tiers td{padding:6px 10px}
.nbanner{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:10px 0 0;padding:9px 12px;border-radius:var(--r);background:var(--sev-warnbg);color:var(--sev-warn);font-size:13.5px}
.nbanner.eol{background:var(--sev-critbg);color:var(--sev-crit)}
.nbanner span{flex:1;min-width:200px;color:var(--ink)}
.nbanner a{color:inherit;font-weight:700}
.nbanner .pn{color:var(--brand)}
.drv{display:flex;flex-direction:column;padding:7px 0;border-top:1px solid var(--line)}
.drv:first-of-type{border-top:0}
.sev-box{padding:10px 12px;border-radius:var(--r);font-size:13.5px}
.sev-box.crit{background:var(--sev-critbg);color:var(--sev-crit)}
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:900px){.calc{grid-template-columns:1fr}}
table.t.calc-out th{white-space:normal;background:transparent;position:static;font-weight:500;color:var(--ink);font-size:13.5px}
table.t.calc-out tr.em th{font-weight:700}
table.t.calc-out tr.em td{font-weight:700;color:var(--brand);font-size:15px}
table.t.mini td{padding:6px 4px;font-size:13px}
table.t.mini .btn.xs{height:22px;padding:0 6px;font-size:11.5px;margin-left:4px}
.dropzone{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 16px;border:2px dashed var(--line);border-radius:var(--r);cursor:pointer;text-align:center;background:var(--bg)}
.dropzone:hover,.dropzone.over{border-color:var(--brand);background:var(--tint)}
.prog{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.prog i{display:block;height:100%;background:var(--s3)}
.apptile.course img{width:calc(100% + 36px);margin:-18px -18px 4px;aspect-ratio:16/7;object-fit:cover;border-radius:var(--r) var(--r) 0 0}
ol.lessons{list-style:none;padding:0;margin:20px 0 0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
ol.lessons li{border-top:1px solid var(--line)}
ol.lessons li:first-child{border-top:0}
ol.lessons a{display:grid;grid-template-columns:44px 1fr auto 24px;gap:12px;align-items:center;padding:12px 16px}
ol.lessons a:hover{background:var(--tint)}
ol.lessons .no{color:var(--brand);font-weight:700;text-align:center}
ol.lessons .t{display:flex;flex-direction:column}
ol.lessons .ck{color:var(--s3);font-weight:700}
ol.lessons li.done .t{color:var(--muted)}
@media (max-width:600px){ol.lessons a{grid-template-columns:34px 1fr 20px}ol.lessons a>.mono:not(.no){display:none}}
.lesson-nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:36px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.acct-form{display:flex;flex-direction:column;gap:12px}
.err-msg{margin:0;color:#B4321F}
.seg{display:flex;gap:6px}
.rule{background:var(--bg)}
.aside .ah{margin-top:10px}
.aside .ah:first-child{margin-top:0}
.tools-grid .apptile{min-height:140px}

/* 页眉：导航项增加后的宽度适配 */
.search-ico{display:none;padding:0 11px}
.nav>.ni>a{padding:0 10px}
@media (max-width:1560px){.top-tools .tsearch{display:none}.search-ico{display:inline-flex}}
@media (max-width:1320px){.nav>.ni>a{padding:0 8px}.top-in{gap:14px}.logo small{display:none}.top-tools{gap:8px}}
html[lang=en] .nav>.ni>a{padding:0 8px;font-size:14.5px}
@media (max-width:1760px){html[lang=en] .top-tools .tsearch{display:none}html[lang=en] .search-ico{display:inline-flex}}
@media (max-width:1320px){html[lang=en] .nav>.ni>a{padding:0 6px;font-size:14px}}
@media (max-width:1300px){html[lang=en] .nav,html[lang=en] .acct .chip-btn{display:none}html[lang=en] .burger{display:inline-flex}}
@media (max-width:1180px){.search-ico{display:inline-flex}}
header.top .wrap{max-width:1480px}
.tsearch{width:220px}
@media (max-width:440px){.search-ico{display:none!important}}
