/* 主站品牌：不透明纸白与墨色，唯一强调色来自新标识的蓝。 */
:root { --bg-0:#f8f9fb; --bg-2:#f0f2f5; --surface:#fff; --surface-2:#f2f4f7; --surface-3:#e9edf3; --text:#182630; --muted:#66717c; --muted-2:#737f89; --border:#dfe4e9; --border-strong:#b9c3cf; --hairline:#e6eaef; --cyan:#285cff; --teal:#285cff; --teal-deep:#1946cf; --blue:#285cff; --blue-soft:#285cff; --grad-primary:#285cff; --grad-text:#182630; --radius:8px; }
body { background:#f8f9fb; }
.site-header { background:#fff; backdrop-filter:none; min-height:80px; }
.brand-mark,.site-header .brand-mark { display:flex; align-items:center; justify-content:center; width:46px; height:50px; overflow:hidden; background:#fff; border-radius:0; flex-shrink:0; }
/* 原图四周有留白；居中放大只裁留白，墨色标识与底部蓝角完整保留。 */
.brand-mark img,.site-header .brand-mark img { display:block; width:80px; height:80px; max-width:none; object-fit:contain; object-position:center; flex-shrink:0; }
.brand-copy strong { font-size:21px; letter-spacing:-.8px; }
.brand-copy span { display:none; }
.primary-nav a { font-size:14px; }
.site-footer { background:#fff; }
.button-primary { background:var(--blue); border-color:var(--blue); }
.button-primary:hover { background:#1946cf; border-color:#1946cf; }
.button-secondary:hover { background:#edf1f8; border-color:#8998ac; }
.modal-dialog,.portal-card,.plugin-panel,.plugin-card,.notice-bar,.empty-state { background:#fff; }
.scene-layer,.scene-orbit,.plugin-collage,.product-scene:before { display:none; }
.scene-shell,.plugin-hero { background:transparent; }
.eyebrow { color:var(--muted); font-size:11px; letter-spacing:1.6px; }
.software-home,.software-page { max-width:1280px; padding:0 32px 64px; margin:auto; }
.software-hero { display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:52px; padding:78px 0 70px; }
.software-hero h1 { font-size:clamp(38px,4.2vw,59px); line-height:1.23; letter-spacing:-2.5px; margin:22px 0; font-weight:650; }
.software-hero h1 em { font-style:normal; color:var(--blue); }
.hero-description { max-width:420px; line-height:1.95; color:var(--muted); font-size:15px; margin:0 0 28px; }
.platform-note { color:var(--muted); font-size:11px; margin:17px 0 0; }

.software-principles { display:flex; justify-content:space-between; padding:23px 8px; border-block:1px solid var(--border); font-size:12px; color:#5d6976; }
.software-principles span:before { content:'+'; margin-right:12px; color:#285cff; }
.ecosystem-section { padding:66px 0 0; }
.ecosystem-section .section-title { margin-bottom:28px; gap:30px; align-items:flex-end; }
.ecosystem-section h2,.developer-band h2 { font-size:27px; line-height:1.45; letter-spacing:-.7px; }
.section-title>p { max-width:300px; color:var(--muted); font-size:13px; }
.ecosystem-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.software-feature,.plugin-feature { padding:30px 34px; background:#fff; border:1px solid var(--border); display:flex; flex-direction:column; min-height:310px; transition:border-color .2s; }
.software-feature:hover,.plugin-feature:hover { border-color:#7995ff; }
.feature-number { color:var(--muted); font-size:10px; letter-spacing:1px; }
.feature-brand { display:flex; align-items:center; gap:15px; margin:24px 0 12px; }
.feature-brand img { width:74px; height:82px; object-fit:cover; }
.feature-brand h3,.plugin-feature h3 { font-size:25px; font-weight:600; margin:0; }
.software-feature p,.plugin-feature p { color:var(--muted); font-size:13px; line-height:1.9; margin:12px 0 22px; max-width:410px; }
.software-feature .text-link,.plugin-feature .text-link { margin-top:auto; }
.plugin-wordmark { font:42px/1.4 Consolas,monospace; letter-spacing:8px; color:#cad1dc; margin:10px 0; }
.plugin-wordmark span { color:var(--blue); }
.market-row { display:grid; grid-template-columns:38px 1fr auto 24px; gap:22px; align-items:center; padding:25px 5px; border-top:1px solid var(--border); }
.market-row:last-child { border-bottom:1px solid var(--border); }
.market-row h3 { font-size:16px; margin:0 0 5px; font-weight:600; }
.market-row p { font-size:12px; color:var(--muted); margin:0; }
.market-index,.market-publisher { font-size:11px; color:var(--muted); }
.market-row:hover h3 { color:var(--blue); }
.developer-band { display:flex; justify-content:space-between; align-items:center; gap:35px; padding:38px; margin:64px 0 0; background:#edf1f8; border:1px solid #e1e7f0; }
.developer-band p { font-size:12px; color:var(--muted); max-width:590px; }
.developer-band .action-row { flex-shrink:0; flex-direction:column; }
.software-page>.page-heading { padding:50px 0 30px; }
.software-download { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border); background:#fff; padding:48px; gap:48px; }
.download-brand { display:flex; gap:20px; align-items:center; }
.download-brand img { width:108px; height:108px; }
.download-brand h2 { font-size:30px; margin:0 0 8px; }
.download-brand p,.download-release p { color:var(--muted); }
.release-version { font-size:25px; font-weight:600; }
.release-checksum { margin-top:24px; color:var(--muted); font-size:12px; }
.release-checksum code { display:block; margin-top:14px; word-break:break-all; }
.download-next { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:30px; }
.download-next a { display:flex; flex-direction:column; gap:8px; padding:25px 0; border-bottom:1px solid var(--border); }
.download-next span { color:var(--muted); font-size:13px; }
.ai-service-page { display:grid; grid-template-columns:1fr 1fr; gap:65px; padding:40px 0; }
.ai-service-page h2 { font-size:26px; }
.ai-service-page p { line-height:1.9; color:var(--muted); }
.ai-service-page code { display:block; padding:18px; background:#e9eef9; color:#285cff; margin:25px 0; }
.service-facts>div { border-top:1px solid var(--border); padding:20px 0; }
:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.account-redeem { padding:32px; background:#fff; border:1px solid var(--border); }
.account-redeem h2 { margin:8px 0; font-size:26px; }
.account-redeem p { color:var(--muted); }
.account-redeem form { max-width:720px; margin:24px 0; }
.account-redeem label { display:block; margin-bottom:9px; }
.redemption-input { display:flex; gap:12px; }
.redemption-input input { flex:1; min-width:0; background:#fff; border:1px solid var(--border-strong); padding:12px; border-radius:4px; }
.account-records article { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0; border-bottom:1px solid var(--border); }
.account-records small { display:block; color:var(--muted); }
.account-secret { display:block; user-select:all; word-break:break-all; padding:18px; background:#edf1f8; color:var(--text); }
@media(max-width:600px) { .account-redeem { padding:20px; } .redemption-input,.account-records article { flex-direction:column; align-items:stretch; } }
@media(max-width:1080px) { .software-hero { gap:28px; }   .primary-nav { gap:0; } .primary-nav a { padding-inline:8px; font-size:12px; } .developer-band { display:block; } .developer-band .action-row { flex-direction:row; margin-top:22px; } }
@media(max-width:820px) { .software-hero { grid-template-columns:1fr; padding-top:45px; gap:38px; } .hero-description { max-width:550px; } .software-hero h1 { font-size:49px; }    .software-download { padding:30px; gap:25px; } }
@media(max-width:600px) { .software-home,.software-page { padding-inline:20px; } .software-hero h1 { font-size:39px; letter-spacing:-1.5px; } .software-principles { display:grid; grid-template-columns:1fr 1fr; gap:16px 8px; font-size:10px; } .ecosystem-grid,.download-next,.software-download,.ai-service-page { grid-template-columns:1fr; } .ecosystem-section { padding-top:45px; } .ecosystem-section .section-title { align-items:flex-start; flex-direction:column; gap:10px; } .ecosystem-section h2,.developer-band h2 { font-size:23px; } .software-feature,.plugin-feature { padding:25px; min-height:290px; } .market-row { gap:10px; grid-template-columns:25px 1fr 20px; } .market-publisher { display:none; } .developer-band { padding:25px; }        .software-download { padding:24px; } .download-brand img { width:82px; height:82px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

/* 工业场景作为页面主体呈现，软件与插件仍是操作入口。 */
.industrial-software-hero { grid-template-columns:.86fr 1.14fr; gap:44px; padding:48px 0 50px; min-height:690px; }
.industrial-software-hero .hero-copy { position:relative; z-index:2; padding-bottom:18px; }
.industrial-software-hero h1 { font-size:clamp(40px,4.3vw,60px); line-height:1.19; margin:22px 0 25px; }
.industrial-software-hero .hero-description { max-width:390px; line-height:1.95; }
.hero-topic-list,.plugin-intro-topics { display:flex; flex-wrap:wrap; gap:18px; margin-top:36px; color:#6c7784; font-size:11px; }
.hero-topic-list span,.plugin-intro-topics span { border-top:1px solid #c8d0da; padding-top:11px; }
.hero-engineering-visual { position:relative; min-width:0; min-height:590px; }
.hero-hardware-scene { position:absolute; inset:0 -18px auto -52px; height:425px; overflow:hidden; border-radius:3px; background:#e8edf1; }
.hero-hardware-scene>img { display:block; width:100%; height:100%; object-fit:cover; object-position:72% center; }
.scene-corner-label { position:absolute; top:18px; left:20px; font:9px/1.4 Consolas,monospace; letter-spacing:1.6px; color:#5c6b79; }

.engineering-workflow { padding-top:76px; }
.engineering-workflow .section-title { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:30px; }
.engineering-workflow h2 { font-size:34px; font-weight:620; line-height:1.4; letter-spacing:-1px; margin:14px 0 0; }
.engineering-workflow .section-title>p { max-width:325px; font-size:13px; line-height:1.9; }
.workflow-scene { position:relative; margin:0; overflow:hidden; background:#d4dce2; border:1px solid #d7dfe5; }
.workflow-scene>img { width:100%; height:auto; display:block; aspect-ratio:2.15; object-fit:cover; object-position:center 44%; }



.workflow-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#fff; border:1px solid var(--border); border-top:0; }
.workflow-steps article { padding:30px; }
.workflow-steps article+article { border-left:1px solid var(--border); }
.workflow-steps article>span { font-size:10px; color:#285cff; letter-spacing:.7px; }
.workflow-steps h3 { margin:14px 0 11px; font-size:18px; font-weight:600; }
.workflow-steps p { margin:0; line-height:1.9; font-size:12px; color:var(--muted); }
.software-products-intro { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:45px; padding:36px 0 50px; }
.software-products-intro .page-heading { margin-bottom:20px; }
.software-products-intro .page-heading h1 { white-space:pre-line; font-size:38px; line-height:1.4; }
.software-products-intro figure { position:relative; margin:0; min-width:0; }
.software-products-intro img { width:100%; height:340px; object-fit:cover; object-position:72% center; display:block; }

.plugins-page { max-width:1280px; margin:auto; padding:16px 32px 70px; }
.equipment-plugin-hero { display:grid; grid-template-columns:.82fr 1.18fr; gap:26px; min-height:470px; align-items:center; margin-bottom:48px; border-bottom:1px solid var(--border); }
.plugin-intro-copy { min-width:0; padding:30px 0 50px; position:relative; z-index:4; }
.plugin-intro-copy h1 { font-size:clamp(34px,3.7vw,50px); font-weight:620; line-height:1.3; letter-spacing:-1.6px; margin:22px 0; }
.plugin-intro-description { font-size:14px; line-height:1.95; color:var(--muted); max-width:365px; margin-bottom:28px; }
.plugin-intro-copy .action-row { gap:25px; }
.plugin-equipment-stage { position:relative; min-width:0; height:465px; margin:0 -12px 0 0; isolation:isolate; overflow:hidden; }

.plugin-equipment-stage img { display:block; position:absolute; height:auto; max-width:none; filter:drop-shadow(0 17px 12px #1d334b18); }







.plugin-library-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; scroll-margin-top:100px; }
.plugin-library-heading h2 { font-size:25px; line-height:1.45; font-weight:600; margin:10px 0 0; letter-spacing:-.5px; }
.plugin-library-heading>p { max-width:270px; font-size:12px; line-height:1.8; color:var(--muted); margin:0; }
.plugins-page .plugin-toolbar { padding:18px; background:#edf1f6; border:1px solid #e1e6ed; gap:18px; }
.plugins-page .plugin-tabs a.is-active { color:#fff; background:#233748; }
.plugins-page .plugin-results { padding:26px 2px 18px; font-size:12px; }
.plugins-page .plugin-card { border-radius:6px; border-top:3px solid #233748; box-shadow:0 6px 22px -19px #243e60; }
.plugins-page .plugin-card h2 { margin-top:23px; line-height:1.5; }
.plugins-page .plugin-developer { background:#edf1f6; border:1px solid #dfe6ee; }
.plugins-page .plugin-grid { grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr)); }
.plugin-grid>.plugin-card:only-child { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:0 40px; padding:30px 34px; }
.plugin-grid>.plugin-card:only-child .plugin-card-top,.plugin-grid>.plugin-card:only-child .plugin-card-bottom { grid-column:1/-1; }
.plugin-grid>.plugin-card:only-child h2 { grid-column:1; margin:24px 0 10px; font-size:25px; }
.plugin-grid>.plugin-card:only-child .plugin-summary { grid-column:1; max-width:660px; margin-bottom:26px; }
.plugin-grid>.plugin-card:only-child .plugin-publisher { grid-column:2; grid-row:2/4; padding-left:30px; border-left:1px solid var(--border); align-self:center; line-height:1.9; }
@media(max-width:1080px) {
  .industrial-software-hero { gap:25px; min-height:650px; }
  .hero-engineering-visual { min-height:545px; }
  .hero-hardware-scene { left:-28px; right:0; height:390px; }

  .equipment-plugin-hero { grid-template-columns:.88fr 1.12fr; gap:10px; min-height:410px; }
  .plugin-equipment-stage { height:410px; }


}
@media(max-width:820px) {
  .industrial-software-hero { grid-template-columns:1fr; padding:36px 0 38px; gap:24px; }
  .industrial-software-hero .hero-copy { padding-bottom:0; }
  .industrial-software-hero .hero-description { max-width:560px; }
  .hero-topic-list { margin-top:24px; }
  .hero-engineering-visual { min-height:625px; }
  .hero-hardware-scene { position:relative; inset:auto; height:430px; }


  .workflow-scene>img { aspect-ratio:1.7; object-position:65% center; }
  .workflow-steps article { padding:22px; }
  .equipment-plugin-hero { grid-template-columns:1fr; gap:0; margin-bottom:36px; }
  .plugin-intro-copy { padding:22px 0 5px; }
  .plugin-intro-description { max-width:540px; }
  .plugin-equipment-stage { max-width:650px; width:100%; height:460px; margin:0 auto; }


  .plugin-library-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  .software-products-intro { grid-template-columns:1fr; gap:25px; }
}
@media(max-width:600px) {
  .industrial-software-hero h1 { font-size:43px; letter-spacing:-1.6px; }
  .hero-engineering-visual { min-height:530px; }
  .hero-hardware-scene { height:305px; }
  .hero-hardware-scene>img { object-position:78% center; }





  .engineering-workflow { padding-top:48px; }
  .engineering-workflow .section-title { flex-direction:column; align-items:flex-start; gap:15px; margin-bottom:24px; }
  .engineering-workflow h2 { font-size:29px; }
  .engineering-workflow .section-title>p { max-width:100%; margin:0; }
  .workflow-scene>img { aspect-ratio:1.08; object-position:82% center; }


  .workflow-steps { grid-template-columns:1fr; }
  .workflow-steps article { padding:23px; }
  .workflow-steps article+article { border-left:0; border-top:1px solid var(--border); }
  .plugins-page { padding:15px 20px 45px; }
  .plugin-intro-copy h1 { font-size:37px; letter-spacing:-1.3px; }
  .plugin-intro-topics { gap:15px; margin-top:27px; }
  .plugin-equipment-stage { height:345px; margin-top:12px; }







  .plugin-library-heading h2 { font-size:23px; }
  .plugins-page .plugin-toolbar { padding:13px; }
  .plugins-page .plugin-search { width:100%; flex-wrap:wrap; }
  .plugins-page .plugin-search select { width:100%; flex-basis:100%; }
  .plugins-page .plugin-search input { flex-basis:60%; }
  .plugins-page .plugin-tabs a { padding:9px 13px; }
  .plugin-grid>.plugin-card:only-child { display:flex; padding:24px; }
  .plugin-grid>.plugin-card:only-child h2 { font-size:22px; }
  .plugin-grid>.plugin-card:only-child .plugin-publisher { padding-left:0; border-left:0; align-self:flex-start; }
  .software-products-intro .page-heading h1 { font-size:32px; }
  .software-products-intro img { height:270px; object-position:77% center; }
}

/* 单一主产品保持居中；真实增加产品时仍使用原有双列目录。 */
.software-product-grid.is-single { grid-template-columns:minmax(0,640px); justify-content:center; }

/* 发布者头衔徽章:只给一部分账号(如官方/工程师),没填就不出现。它让官方插件不像私人号发的。 */
.plugin-publisher-title { display: inline-block; margin-left: 6px; vertical-align: middle; }
