:root {
  --sel-green:#123f2b;
  --sel-green-2:#1d573c;
  --sel-green-deep:#0a291c;
  --sel-gold:#ba8730;
  --sel-gold-soft:#ead9b5;
  --sel-paper:#f2ede3;
  --sel-paper-2:#e8e1d4;
  --sel-card:#fffdf8;
  --sel-ink:#1f2922;
  --sel-muted:#5d685f;
  --sel-line:rgba(28,57,40,.17);
  --sel-output:#12271e;
  --sel-output-2:#193328;
  --sel-blueprint:#182b31;
}

[hidden] { display:none!important; }
.site-header {
  color:var(--sel-ink);
  background:rgba(255,253,248,.96);
  border-bottom:1px solid var(--sel-line);
  box-shadow:0 8px 28px rgba(17,48,32,.08);
  backdrop-filter:blur(14px);
}
.site-header .brand img {
  filter:brightness(0) saturate(100%) invert(20%) sepia(24%) saturate(1170%) hue-rotate(98deg) brightness(88%);
}
.nav-cta.is-current { background:var(--sel-gold); color:#102d20; }
.nav-cta.is-current:hover { background:#d2a24d; }
.selector-hero .kicker,.workspace .kicker,.logic-section .kicker,.selection-cta .kicker {
  color:#8a6220;
  font-size:11px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.selection-cta .kicker { color:#e6bd6c; }

/* Selector introduction */
.selector-hero {
  padding:152px 0 0;
  background:var(--sel-paper-2);
  border-bottom:1px solid var(--sel-line);
}
.hero-layout {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  gap:clamp(54px,7vw,112px);
  align-items:center;
  padding-bottom:64px;
}
.selector-hero .hero-copy { max-width:760px; }
.selector-hero .kicker { margin-bottom:18px; }
.selector-hero h1 {
  margin:0 0 24px;
  max-width:760px;
  color:var(--sel-ink);
  font-size:clamp(48px,5.1vw,74px);
  line-height:1.08;
  letter-spacing:-.055em;
}
.selector-hero h1 span { display:inline-block; color:var(--sel-green); }
.selector-hero .hero-lead {
  max-width:690px;
  color:#4f5c53;
  font-size:16px;
  line-height:1.9;
}
.hero-jump {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
  min-height:52px;
  margin-top:28px;
  padding:0 20px;
  border:1px solid var(--sel-green);
  background:var(--sel-green);
  color:#fff;
  font-size:14px;
  font-weight:800;
  transition:transform .2s ease,background .2s ease;
}
.hero-jump:hover { transform:translateY(-2px); background:var(--sel-green-2); }
.hero-jump span { color:#e5bc70; font-size:18px; }
.selector-journey {
  background:var(--sel-card);
  border:1px solid var(--sel-line);
  box-shadow:0 28px 70px rgba(28,47,35,.12);
}
.journey-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:19px 24px;
  border-bottom:1px solid var(--sel-line);
}
.journey-head span { color:var(--sel-green); font-size:12px; font-weight:900; letter-spacing:.12em; }
.journey-head small { color:var(--sel-muted); font-size:11px; }
.selector-journey ol { list-style:none; margin:0; padding:8px 24px 13px; }
.selector-journey li {
  display:grid;
  grid-template-columns:45px 1fr;
  gap:16px;
  align-items:center;
  min-height:78px;
  border-bottom:1px solid var(--sel-line);
}
.selector-journey li:last-child { border-bottom:0; }
.selector-journey li>b {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(18,63,43,.25);
  color:#7e867f;
  font:800 12px/1 Georgia,serif;
}
.selector-journey li.is-active>b { background:var(--sel-gold); border-color:var(--sel-gold); color:#173a29; }
.selector-journey li strong { display:block; color:var(--sel-ink); font-size:16px; }
.selector-journey li span { display:block; margin-top:3px; color:var(--sel-muted); font-size:11px; line-height:1.55; }
.hero-proof {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:var(--sel-green);
  border-left:1px solid rgba(255,255,255,.14);
}
.hero-proof>div {
  min-height:112px;
  padding:22px 26px;
  border-right:1px solid rgba(255,255,255,.15);
  display:grid;
  align-content:center;
}
.hero-proof strong { color:#ecc675; font:800 21px/1 Georgia,serif; }
.hero-proof span { margin-top:9px; color:#fff; font-size:14px; font-weight:800; }
.hero-proof small { margin-top:2px; color:rgba(255,255,255,.63); font-size:10px; }

/* Main selection workbench */
.workspace {
  padding:94px 0 124px;
  background:var(--sel-paper);
  scroll-margin-top:72px;
}
.workspace-title {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:50px;
  margin-bottom:34px;
}
.workspace-title .kicker { margin-bottom:12px; }
.workspace-title h2 {
  color:var(--sel-ink);
  font-size:clamp(34px,4vw,52px);
  line-height:1.16;
  letter-spacing:-.045em;
}
.workspace-title>p { max-width:530px; color:var(--sel-muted); font-size:13px; line-height:1.85; }
.mode-switch {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin-bottom:16px;
  padding:1px;
  background:rgba(25,62,42,.18);
  border:1px solid var(--sel-line);
}
.mode-btn {
  min-width:0;
  min-height:92px;
  padding:19px 24px;
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto;
  align-items:center;
  gap:2px 15px;
  border:0;
  background:#ece6db;
  color:var(--sel-muted);
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.mode-btn>span { color:#8e6a2c; font:800 13px/1.6 Georgia,serif; }
.mode-btn b { color:var(--sel-ink); font-size:18px; }
.mode-btn small { font-size:11px; }
.mode-btn.active { background:var(--sel-green); color:rgba(255,255,255,.68); }
.mode-btn.active>span { color:#edc675; }
.mode-btn.active b { color:#fff; }
.mode-btn:focus-visible { outline:3px solid rgba(186,135,48,.38); outline-offset:2px; }
.workbench {
  display:grid;
  grid-template-columns:minmax(410px,470px) minmax(0,1fr);
  align-items:start;
  background:var(--sel-card);
  border:1px solid var(--sel-line);
  box-shadow:0 30px 80px rgba(25,43,32,.12);
}
.config-panel {
  position:sticky;
  top:86px;
  z-index:3;
  max-height:calc(100vh - 106px);
  min-width:0;
  overflow:auto;
  scrollbar-color:#b6aa98 transparent;
  background:var(--sel-card);
  border-right:1px solid var(--sel-line);
}
.panel-heading {
  position:sticky;
  top:0;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:58px;
  padding:14px 22px;
  background:#e7dfd2;
  border-bottom:1px solid var(--sel-line);
}
.panel-heading span { color:var(--sel-green); font-size:12px; font-weight:900; letter-spacing:.12em; }
.panel-heading button {
  min-height:32px;
  padding:0 10px;
  border:1px solid rgba(18,63,43,.22);
  background:transparent;
  color:#536157;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.panel-heading button:hover,.panel-heading button:focus-visible { border-color:var(--sel-gold); color:var(--sel-green); }
.form-section { min-width:0; padding:4px 0 23px; }
.field-grid { display:grid; border-bottom:1px solid var(--sel-line); }
.field-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.field-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.field {
  min-width:0;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:8px;
  border-right:1px solid var(--sel-line);
}
.field:last-child { border-right:0; }
.field>span:first-child,.choice-group legend,.material-head>span {
  color:#1b4d36;
  font-size:11px;
  font-weight:900;
  letter-spacing:.07em;
}
.field select,.field input {
  width:100%;
  height:42px;
  min-width:0;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(27,62,41,.32);
  border-radius:0;
  background:transparent;
  color:var(--sel-ink);
  font:800 16px/1 "Microsoft YaHei","PingFang SC",sans-serif;
  outline:0;
}
.field select {
  padding-right:22px;
  appearance:auto;
}
.field input::placeholder { color:#858d87; font-weight:500; }
.field input:focus,.field select:focus,.density-input:focus { border-color:var(--sel-gold); box-shadow:0 2px 0 var(--sel-gold); }
.unit-input { display:flex!important; align-items:flex-end; gap:8px; min-width:0; }
.unit-input b { flex:none; padding-bottom:10px; color:#8b631f; font-size:11px; }
.unit-input .unit-select {
  flex:0 0 70px;
  width:70px;
  height:42px;
  padding:0 0 0 5px;
  color:#805d21;
  font-size:12px;
}
.label-with-help { position:relative; display:flex; align-items:center; gap:6px; }
.help {
  display:inline-grid;
  place-items:center;
  width:19px;
  height:19px;
  padding:0;
  border:1px solid #9d762e;
  border-radius:50%;
  background:#fffaf0;
  color:#76551b;
  font-size:10px;
  font-weight:900;
  cursor:help;
}
.label-with-help i {
  display:none;
  position:absolute;
  top:27px;
  left:0;
  z-index:8;
  width:210px;
  padding:10px 12px;
  background:var(--sel-green-deep);
  box-shadow:0 12px 30px rgba(7,28,18,.22);
  color:#fff;
  font-style:normal;
  font-size:10px;
  line-height:1.6;
}
.label-with-help:hover i,.label-with-help:focus-within i { display:block; }
.choice-group { min-width:0; margin:0; padding:18px 20px; border:0; border-bottom:1px solid var(--sel-line); }
.choice-group legend { float:left; width:100%; margin-bottom:12px; }
.choice-group legend small { float:right; color:#8a6220; font-weight:800; letter-spacing:0; }
.structure-options { clear:both; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.structure-options .small-silo-choice { grid-column:1/-1; }
.structure-options input,.chip-options input { position:absolute; opacity:0; pointer-events:none; }
.structure-options label span {
  min-height:60px;
  padding:12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid var(--sel-line);
  background:#faf7f0;
  cursor:pointer;
}
.structure-options b { color:var(--sel-ink); font-size:14px; }
.structure-options b em { display:inline-flex; margin-left:7px; padding:2px 7px; border-radius:999px; background:#ba8730; color:#fff; font-size:9px; font-style:normal; letter-spacing:.04em; vertical-align:2px; }
.structure-options small { margin-top:4px; color:var(--sel-muted); font-size:10px; line-height:1.45; }
.structure-options input:checked+span { border-color:var(--sel-green); background:#e2ebe4; box-shadow:inset 0 0 0 1px var(--sel-green); }
.structure-options label:has(input:disabled) span { border-color:#e2ddd2; background:#f2efe8; box-shadow:none; cursor:not-allowed; }
.structure-options label:has(input:disabled) b,.structure-options label:has(input:disabled) small { color:#8d8a82; }
.structure-options label:has(input:disabled) b em { background:#aaa69e; }
.structure-options input:focus-visible+span,.chip-options input:focus-visible+span { outline:3px solid rgba(186,135,48,.34); outline-offset:2px; }
.chip-options { clear:both; display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }
.chip-options.four { grid-template-columns:repeat(4,1fr); }
.chip-options span {
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid var(--sel-line);
  background:#faf7f0;
  color:var(--sel-ink);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.chip-options input:checked+span { border-color:var(--sel-green); background:var(--sel-green); color:#fff; }
.advanced { border-bottom:1px solid var(--sel-line); }
.advanced summary { padding:17px 20px; color:#1c4d36; font-size:11px; font-weight:900; cursor:pointer; }
.advanced summary::marker { color:var(--sel-gold); }
.advanced .field-grid { border-top:1px solid var(--sel-line); border-bottom:0; }
.material-head { display:flex; justify-content:space-between; gap:15px; padding:19px 20px 12px; }
.material-head small { color:var(--sel-muted); font-size:10px; }
.material-rows { border-top:1px solid var(--sel-line); }
.material-row {
  min-width:0;
  padding:12px 15px;
  display:grid;
  grid-template-columns:24px minmax(86px,1fr) 82px 80px;
  gap:8px;
  align-items:center;
  border-bottom:1px solid var(--sel-line);
  cursor:pointer;
}
.material-row:hover { background:#faf6ed; }
.material-row input[type=checkbox] { width:17px; height:17px; accent-color:var(--sel-green); }
.material-name b { display:block; color:var(--sel-ink); font-size:13px; }
.material-name small { display:block; margin-top:2px; color:var(--sel-muted); font-size:9px; line-height:1.4; }
.material-row .qty { min-width:0; display:flex; align-items:center; border-bottom:1px solid var(--sel-line); }
.material-row .qty input { min-width:0; width:100%; height:32px; border:0; background:transparent; color:var(--sel-ink); text-align:right; font-weight:900; outline:0; }
.material-row .qty span { color:#8a6220; font-size:9px; }
.material-row .density { min-width:0; color:var(--sel-muted); font-size:9px; text-align:right; }
.density-input { width:48px; border:0; border-bottom:1px solid var(--sel-line); background:transparent; color:var(--sel-ink); text-align:right; font-weight:900; outline:0; }
.material-row.disabled { opacity:.54; }
.line-settings { margin-top:8px; border-top:1px solid var(--sel-line); }
.meal-note { margin:0; padding:14px 20px; background:#f2eadc; color:#4f5e54; font-size:10px; line-height:1.65; }

/* Calculated result */
.output-panel {
  min-width:0;
  padding:28px;
  background:var(--sel-output);
  color:#fff;
}
.calculation-rail {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:-28px -28px 28px;
  border-bottom:1px solid rgba(255,255,255,.14);
  background:#0e2119;
}
.calculation-rail span {
  min-height:50px;
  padding:0 13px;
  display:flex;
  align-items:center;
  gap:8px;
  border-right:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.49);
  font-size:10px;
  white-space:nowrap;
}
.calculation-rail span:last-child { border-right:0; }
.calculation-rail i {
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  flex:none;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  color:inherit;
  font-style:normal;
  font-size:8px;
}
.calculation-rail .is-done { color:#9fc7ae; }
.calculation-rail .is-done i { border-color:#4d8c68; background:#244d38; color:#fff; }
.calculation-rail .is-active { color:#f0d18f; }
.calculation-rail .is-active i { border-color:var(--sel-gold); background:var(--sel-gold); color:#173527; }
.output-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  padding-bottom:23px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.eyebrow { display:block; margin-bottom:8px; color:#e4ba68; font-size:10px; font-weight:900; letter-spacing:.15em; }
.output-top h2 { max-width:760px; color:#fff; font-size:clamp(28px,3vw,42px); line-height:1.14; letter-spacing:-.035em; }
.status-badge {
  display:flex;
  align-items:center;
  gap:8px;
  flex:none;
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.21);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.76);
  font-size:10px;
}
.status-badge i { width:8px; height:8px; border-radius:50%; background:#79d298; box-shadow:0 0 12px rgba(121,210,152,.7); }
.summary-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid rgba(255,255,255,.14); }
.metric { min-width:0; padding:18px 16px 18px 0; }
.metric span { display:block; margin-bottom:5px; color:rgba(255,255,255,.57); font-size:10px; }
.metric b { color:#fff; font-size:18px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.metric em { margin-left:4px; color:#e2ba6d; font-style:normal; font-size:10px; }
.result-content { padding:20px 0 18px; }
.selection-reason { display:flex; gap:11px; padding:14px 15px; border-left:3px solid #d7a54e; background:rgba(215,165,78,.11); color:rgba(255,255,255,.77); font-size:11px; line-height:1.7; }
.selection-reason b { flex:none; color:#f0cb83; }
.spec-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:14px; background:rgba(255,255,255,.14); }
.spec-grid>div { min-width:0; padding:13px; background:var(--sel-output-2); }
.spec-grid span { display:block; color:rgba(255,255,255,.54); font-size:9px; }
.spec-grid b { display:block; margin-top:4px; color:#fff; font-size:12px; overflow-wrap:anywhere; }
.alternatives { margin-top:17px; }
.alternatives>span,.equipment-title { display:block; margin-bottom:8px; color:rgba(255,255,255,.55); font-size:9px; font-weight:800; letter-spacing:.1em; }
.alt-row { display:grid; grid-template-columns:1.1fr .8fr .8fr; gap:10px; padding:10px 11px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.74); font-size:10px; }
.alt-row b { color:#f0cd88; }
.combo-list { display:grid; gap:8px; }
.combo-card {
  min-width:0;
  padding:14px 15px;
  display:grid;
  grid-template-columns:1.16fr .84fr .78fr;
  gap:15px;
  align-items:center;
  background:var(--sel-output-2);
  border-left:3px solid var(--material-color,#d7aa56);
}
.combo-card>div { min-width:0; }
.combo-card .material-label { display:flex; align-items:center; gap:10px; }
.combo-card .dot { width:8px; height:8px; flex:none; border-radius:50%; background:var(--material-color); }
.combo-card b { display:block; color:#fff; font-size:13px; overflow-wrap:anywhere; }
.combo-card small { display:block; margin-top:3px; color:rgba(255,255,255,.58); font-size:9px; line-height:1.55; }
.combo-card .count { color:#fff; font-size:21px; }
.equipment-block { margin-top:18px; }
.equipment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.equipment-card { min-width:0; padding:14px 15px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.045); }
.equipment-card span { display:block; color:#e1b768; font-size:9px; }
.equipment-card b { display:block; margin:4px 0; color:#fff; font-size:12px; }
.equipment-card small { display:block; color:rgba(255,255,255,.58); font-size:9px; line-height:1.55; }

/* 2D / 3D engineering viewer */
.view-module { margin-top:10px; border:1px solid rgba(255,255,255,.18); background:var(--sel-blueprint); }
.view-tabs { display:flex; border-bottom:1px solid rgba(255,255,255,.15); }
.view-tab {
  flex:1 1 0;
  min-width:0;
  height:48px;
  border:0;
  border-right:1px solid rgba(255,255,255,.12);
  background:#10241c;
  color:rgba(255,255,255,.64);
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.view-tab:last-child { border-right:0; }
.view-tab:hover,.view-tab:focus-visible { color:#fff; background:#1d3b2e; }
.view-tab.active { background:#244a38; color:#f2d08c; box-shadow:inset 0 -3px 0 var(--sel-gold); }
.drawing-stage { position:relative; height:clamp(540px,48vw,690px); overflow:hidden; background:#17292f; }
.drawing-stage>svg { display:block; width:100%; height:100%; }
.drawing-stage>svg[hidden],.three-d-stage[hidden] { display:none!important; }
.drawing-footer { display:flex; justify-content:space-between; gap:15px; padding:9px 12px; background:#0d1c18; color:rgba(255,255,255,.47); font:9px/1.5 Consolas,monospace; letter-spacing:.06em; }
.estimate-note { margin:14px 0 0; padding:13px 15px; border:1px solid rgba(239,199,120,.28); color:rgba(255,255,255,.66); font-size:10px; line-height:1.7; }
.estimate-note b { margin-right:9px; color:#ebc77f; }

#engineeringDrawing .line{fill:none;stroke:#e7edf0;stroke-width:1.5;vector-effect:non-scaling-stroke}
#engineeringDrawing .thin{fill:none;stroke:#9fafb8;stroke-width:.8;vector-effect:non-scaling-stroke}
#engineeringDrawing .accent{fill:none;stroke:#42c9c7;stroke-width:1.6;vector-effect:non-scaling-stroke}
#engineeringDrawing .hot{fill:none;stroke:#f05f50;stroke-width:1.5;vector-effect:non-scaling-stroke}
#engineeringDrawing .fill{fill:#24343f;stroke:#e7edf0;stroke-width:1.2}
#engineeringDrawing .roof{fill:#2a3944;stroke:#e7edf0;stroke-width:1.3}
#engineeringDrawing .label{fill:#d9e0e4;font:11px "Microsoft YaHei",sans-serif}
#engineeringDrawing .caption{fill:#7fe2d6;font:10px Consolas,monospace}
#engineeringDrawing .dim{fill:#f1c86f;font:10px Consolas,monospace}
#engineeringDrawing .flowbox{fill:#24343f;stroke:#91a7b2;stroke-width:1.2}
#engineeringDrawing .flowbox.meal{stroke:#e0a65a}
#engineeringDrawing .arrow{fill:none;stroke:#55d2c9;stroke-width:2;marker-end:url(#arrow)}
#engineeringDrawing .flow-node{fill:#22313b;stroke:#718894;stroke-width:1.1}
#engineeringDrawing .flow-node.active{fill:#203b37;stroke:#62d29a;stroke-width:1.5}
#engineeringDrawing .flow-node.meal{stroke:#d69b55}
#engineeringDrawing .flow-edge{fill:none;stroke:#617580;stroke-width:1.6;marker-end:url(#arrowMuted)}
#engineeringDrawing .flow-edge.active{stroke:#55d2c9;stroke-width:2.5;marker-end:url(#arrow)}
#engineeringDrawing .flow-status{font:10px "Microsoft YaHei",sans-serif;fill:#9cabb2}
#engineeringDrawing .flow-status.open{fill:#72e0aa}
#engineeringDrawing .flow-status.closed{fill:#98a5ab}
#engineeringDrawing .flow-model{font:10px Consolas,monospace;fill:#f0c975}
#engineeringDrawing .flow-title{font:12px "Microsoft YaHei",sans-serif;fill:#f4f7f8;font-weight:700}
#engineeringDrawing .flow-label{font:11px "Microsoft YaHei",sans-serif;fill:#8de3d8}
#engineeringDrawing .flow-lane{fill:rgba(19,31,39,.55);stroke:rgba(255,255,255,.08);stroke-width:1}
#engineeringDrawing .flow-diamond{fill:#293943;stroke:#d2a455;stroke-width:1.3}
#engineeringDrawing .flow-active-band{fill:rgba(85,210,201,.055)}
.flow-toolbar { display:flex; align-items:center; gap:14px; padding:9px 11px; background:#0d1e19; border-bottom:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.68); font-size:10px; }
.flow-toolbar label { display:flex; align-items:center; gap:6px; }
.flow-toolbar select { height:30px; padding:0 8px; border:1px solid rgba(255,255,255,.19); border-radius:0; background:#183128; color:#f4f7f5; font-size:10px; }
.flow-toolbar>span { margin-left:auto; display:flex; align-items:center; gap:6px; }
.flow-toolbar>span i { width:7px; height:7px; border-radius:50%; background:#6ed39a; box-shadow:0 0 9px rgba(110,211,154,.75); }
.three-d-stage { --three-canvas-bg:#718594; position:absolute; inset:0; display:grid; grid-template-rows:auto minmax(0,1fr); background:var(--three-canvas-bg); color:#e8efeb; }
.three-controls { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px; background:#0d1e19; border-bottom:1px solid rgba(255,255,255,.14); }
.three-view-controls { display:flex; min-width:0; gap:5px; }
.three-view-controls button { height:31px; padding:0 11px; border:1px solid rgba(255,255,255,.17); background:#183128; color:rgba(255,255,255,.72); font-size:9px; font-weight:900; white-space:nowrap; cursor:pointer; }
.three-view-controls button:hover,.three-view-controls button:focus-visible { border-color:#d0a052; color:#fff; }
.three-view-controls button.active { border-color:#d0a052; background:var(--sel-gold); color:#102d20; }
.three-option-controls { display:flex; align-items:center; gap:9px; }
.three-option-controls label { display:flex; align-items:center; gap:5px; color:rgba(255,255,255,.58); font-size:9px; white-space:nowrap; }
.three-option-controls select { height:31px; max-width:190px; padding:0 7px; border:1px solid rgba(255,255,255,.17); border-radius:0; background:#183128; color:#eef4f0; font-size:9px; outline:0; }
.three-canvas-host { position:relative; min-width:0; min-height:0; overflow:hidden; background:var(--three-canvas-bg); outline:0; }
.three-canvas-host:focus-visible { box-shadow:inset 0 0 0 3px rgba(225,180,94,.55); }
.three-canvas-host canvas { display:block; width:100%; height:100%; touch-action:none; }
.three-loading,.three-fallback { position:absolute; inset:0; z-index:2; display:grid; place-content:center; justify-items:center; gap:11px; background:var(--three-canvas-bg); color:#071924; font-size:11px; }
.three-loading i { width:26px; height:26px; border:2px solid #c6d2da; border-top-color:#315d4b; border-radius:50%; animation:threeSpin .8s linear infinite; }
.three-fallback b { color:#071924; font-size:14px; }
.three-fallback span { color:#071924; font-size:10px; }
.three-model-summary { min-height:28px; padding:7px 11px; background:#0d1e19; border-top:1px solid rgba(255,255,255,.11); color:rgba(255,255,255,.51); font:9px/1.5 Consolas,monospace; letter-spacing:.03em; }
.three-model-summary b { color:#7bd6c7; font-weight:600; }
.three-model-summary em { color:#ecc477; font-style:normal; }
.three-engineering-scope { margin:12px 0 0; padding:10px 12px; background:#fff6df; border-left:3px solid #caa154; color:#5b4a27; font-size:11px; line-height:1.55; }
.three-engineering-scope b { margin-right:8px; color:#263832; }
.equipment-scope { margin:12px 0 0; padding:10px 12px; background:#f5f2e9; border-left:3px solid #a98a50; color:#58635f; font-size:11px; line-height:1.55; }
.three-webgl-fallback .three-controls,.three-webgl-fallback .three-canvas-host { display:none; }
.three-webgl-fallback .three-fallback { position:relative; min-height:330px; }
.three-option-controls[hidden],.three-view-controls button[hidden] { display:none!important; }
@keyframes threeSpin { to { transform:rotate(360deg); } }

/* Explanation and conversion */
.logic-section { padding:108px 0; background:#e7dfd2; border-top:1px solid var(--sel-line); }
.logic-grid { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); gap:clamp(55px,8vw,110px); }
.logic-grid h2 { color:var(--sel-ink); font-size:clamp(36px,4vw,52px); line-height:1.15; letter-spacing:-.04em; }
.logic-grid ol { list-style:none; margin:0; padding:0; border-top:1px solid var(--sel-line); }
.logic-grid li { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:20px 0; border-bottom:1px solid var(--sel-line); }
.logic-grid li>span { color:#8b6320; font:800 12px Georgia,serif; }
.logic-grid b { color:var(--sel-ink); font-size:15px; }
.logic-grid p { margin-top:4px; color:var(--sel-muted); font-size:12px; line-height:1.7; }
.selection-cta { padding:84px 0; background:var(--sel-green-deep); color:#fff; }
.selection-cta>.shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,430px); gap:70px; align-items:center; }
.selection-cta h2 { max-width:780px; margin-bottom:10px; color:#fff; font-size:clamp(34px,4vw,48px); line-height:1.18; letter-spacing:-.04em; }
.selection-cta p:not(.kicker) { max-width:720px; color:rgba(255,255,255,.69); }
.contact-person { display:block; margin-top:15px; color:#e6bd6c; font-size:12px; font-weight:800; }
.selection-cta>.shell>div:last-child { display:grid; gap:10px; }
.selection-cta .button { width:100%; border-color:rgba(255,255,255,.25); }
.selection-cta .button-gold { background:var(--sel-gold); border-color:var(--sel-gold); color:#123324; }
.selection-cta .button-gold:hover { background:#d3a24d; }
.selection-cta .button-light { background:transparent; color:#fff; }
.selection-cta .button-light:hover { background:#fff; color:var(--sel-green-deep); }
.selection-cta .button span { font-size:12px; overflow-wrap:anywhere; }

@media (max-width:1120px) {
  .hero-layout { gap:48px; }
  .workbench { grid-template-columns:minmax(360px,410px) minmax(0,1fr); }
  .output-panel { padding:24px; }
  .calculation-rail { margin:-24px -24px 24px; }
  .summary-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric:nth-child(2n+1) { border-right:1px solid rgba(255,255,255,.1); }
  .drawing-stage { height:590px; }
}

@media (max-width:900px) {
  .site-header .nav-cta { display:none; }
  .site-header .menu-btn { display:grid!important; place-items:center; position:relative; z-index:52; min-width:52px; height:36px; margin-left:auto; border:1px solid var(--sel-green); color:var(--sel-green); }
  .site-header .menu-btn b { display:block; font-size:11px; letter-spacing:.08em; }
  .site-header .menu-btn span { display:none!important; }
  .selector-hero { padding-top:118px; }
  .hero-layout,.workbench,.logic-grid,.selection-cta>.shell { grid-template-columns:1fr; }
  .hero-layout { padding-bottom:44px; }
  .selector-journey { max-width:680px; }
  .hero-proof { grid-template-columns:repeat(2,1fr); }
  .hero-proof>div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.15); }
  .workspace { padding:78px 0 96px; }
  .workspace-title { display:block; }
  .workspace-title>p { margin-top:16px; }
  .config-panel { position:static; max-height:none; border-right:0; border-bottom:1px solid var(--sel-line); }
  .drawing-stage { height:620px; }
  .three-controls { align-items:flex-start; flex-direction:column; }
  .three-view-controls,.three-option-controls { width:100%; overflow-x:auto; padding-bottom:2px; }
  .three-option-controls { justify-content:flex-start; }
  .selection-cta>.shell { gap:38px; }
  .selection-cta>.shell>div:last-child { max-width:560px; }
}

@media (max-width:640px) {
  :root { --shell:calc(100% - 24px); }
  .site-header .menu-btn { height:44px; }
  .selector-hero { padding-top:92px; }
  .hero-layout { padding-bottom:34px; }
  .selector-hero h1 { margin-bottom:18px; font-size:clamp(36px,10.2vw,42px); line-height:1.08; }
  .selector-hero .hero-lead { font-size:13px; line-height:1.72; }
  .hero-jump { width:100%; }
  .journey-head { align-items:flex-start; flex-direction:column; gap:3px; }
  .selector-journey ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; }
  .selector-journey li { min-height:92px; padding:12px; grid-template-columns:1fr; gap:7px; align-content:center; border-right:1px solid var(--sel-line); border-bottom:0; }
  .selector-journey li:last-child { border-right:0; }
  .selector-journey li>b { width:30px; height:30px; }
  .selector-journey li strong { font-size:13px; line-height:1.35; }
  .selector-journey li span { display:none; }
  .hero-proof { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-proof>div { min-height:84px; padding:13px 14px; }
  .hero-proof strong { font-size:18px; }
  .hero-proof span { font-size:12px; }
  .workspace { padding:50px 0 64px; }
  .workspace-title { margin-bottom:24px; }
  .workspace-title h2 { font-size:31px; }
  .workspace-title>p { margin-top:10px; font-size:12px; line-height:1.7; }
  .mode-switch { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mode-btn { min-height:76px; padding:12px; grid-template-columns:28px 1fr; gap:2px 8px; }
  .mode-btn b { font-size:16px; line-height:1.35; }
  .mode-btn small { font-size:10px; line-height:1.35; }
  .field-grid.two,.structure-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .field-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .field { padding:14px 12px; }
  .field-grid.three .field { padding-inline:10px; }
  .field select,.field input { height:44px; font-size:14px; }
  .help { width:28px; height:28px; }
  .choice-group { padding:15px 12px; }
  .structure-options label span { min-height:76px; padding:10px; }
  .structure-options small { font-size:9px; }
  .material-head { padding-inline:14px; }
  .chip-options.four { grid-template-columns:repeat(2,1fr); }
  .material-row { grid-template-columns:22px minmax(80px,1fr) 78px; }
  .material-row .density { grid-column:2/-1; text-align:left; }
  .output-panel { padding:14px; }
  .calculation-rail { margin:-14px -14px 20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .calculation-rail span { min-height:46px; padding:6px; gap:5px; border-right:1px solid rgba(255,255,255,.1); border-bottom:0; font-size:9px; line-height:1.35; white-space:normal; }
  .output-top { display:block; }
  .output-top h2 { font-size:26px; line-height:1.18; }
  .status-badge { display:inline-flex; margin-top:14px; }
  .summary-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric { padding:15px 9px 15px 0; }
  .metric b { font-size:15px; }
  .selection-reason { display:block; padding:13px; font-size:11px; line-height:1.72; }
  .selection-reason b { display:block; margin-bottom:5px; }
  .spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .combo-card { grid-template-columns:minmax(0,1fr) auto; gap:10px 14px; padding:13px; }
  .combo-card>div:first-child { grid-column:1/-1; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.1); }
  .combo-card>div:last-child { grid-column:auto; text-align:right; }
  .combo-card small,.equipment-card small { font-size:10px; }
  .equipment-grid { grid-template-columns:1fr; }
  .view-module { margin:10px -14px 0; border-inline:0; }
  .view-tabs { overflow-x:auto; }
  .view-tab { flex:1 0 112px; height:46px; }
  .drawing-stage { height:clamp(540px,145vw,590px); }
  .drawing-footer { align-items:flex-start; flex-direction:column; gap:2px; }
  .flow-toolbar { flex-wrap:wrap; gap:8px; }
  .flow-toolbar select { height:40px; }
  .flow-toolbar>span { width:100%; margin-left:0; }
  .three-view-controls,.three-option-controls { max-width:100%; }
  .three-controls { gap:8px; padding:10px; }
  .three-view-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; overflow:visible; padding-bottom:0; }
  .three-view-controls button { width:100%; height:42px; padding:0 7px; font-size:10px; }
  .three-option-controls { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:8px; overflow:visible; padding-bottom:0; }
  .three-option-controls label { display:grid; gap:4px; min-width:0; white-space:normal; }
  .three-option-controls select { width:100%; max-width:none; height:42px; font-size:10px; }
  .three-model-summary { min-height:46px; padding:9px 10px; font:10px/1.55 "Microsoft YaHei","PingFang SC",sans-serif; letter-spacing:0; }
  .logic-section { padding:78px 0; }
  .selection-cta { padding:68px 0; }
  .selection-cta .button { min-width:0; gap:12px; padding-inline:17px; }
  .selection-cta .button span { max-width:62%; text-align:right; }
}

@media (max-width:390px) {
  .material-row { grid-template-columns:20px minmax(70px,1fr) 70px; gap:6px; padding-inline:10px; }
  .drawing-stage { height:550px; }
  .three-model-summary { font-size:10.5px; }
}

@media (max-width:350px) {
  .mode-btn small { display:none; }
  .field-grid.two,.field-grid.three,.structure-options { grid-template-columns:1fr; }
  .field { border-right:0; border-bottom:1px solid var(--sel-line); }
  .field-grid .field:last-child { border-bottom:0; }
  .spec-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .three-loading i { animation:none; }
}

/* Compact selection workspace, 20260908a */
.selection-page {
  --sel-paper:#f4f6f4;
  --sel-paper-2:#fff;
  --sel-card:#fff;
  --sel-line:#dce3dd;
  --sel-muted:#5b6860;
  --sel-output:#12372a;
  --sel-output-2:#12372a;
  background:var(--sel-paper);
}
.selection-page .site-header { background:rgba(255,255,255,.98); box-shadow:none; border-bottom-color:#e3e8e3; }
.selection-page .nav-cta.is-current { background:var(--sel-green); color:#fff; }
.selection-page .selector-hero { padding:116px 0 22px; border:0; background:#fff; }
.selection-page .hero-layout { display:block; padding-bottom:0; }
.selection-page .selector-hero h1 { margin:0 0 10px; font-size:40px; line-height:1.2; letter-spacing:-.035em; }
.selection-page .selector-hero h1 span { margin-left:8px; }
.selection-page .selector-hero .hero-lead { margin:0; font-size:15px; line-height:1.65; color:#59675e; }
.selection-page .workspace { padding:16px 0 72px; scroll-margin-top:86px; }
.selection-page .mode-switch { display:flex; gap:28px; margin:0 0 22px; padding:0; border:0; border-bottom:1px solid var(--sel-line); background:transparent; }
.selection-page .mode-btn { display:flex; justify-content:center; min-height:52px; padding:0 4px; border:0; border-bottom:3px solid transparent; background:transparent; color:#607066; }
.selection-page .mode-btn b { font-size:17px; font-weight:700; color:inherit; }
.selection-page .mode-btn.active { border-bottom-color:var(--sel-green); background:transparent; color:var(--sel-green); }
.selection-page .mode-btn:hover { color:var(--sel-green); }
.selection-page .workbench { grid-template-columns:minmax(340px,360px) minmax(0,1fr); gap:24px; border:0; background:transparent; box-shadow:none; }
.selection-page .config-panel { top:92px; max-height:calc(100vh - 108px); border:1px solid var(--sel-line); scrollbar-color:#b6c4bb transparent; }
.selection-page .panel-heading { min-height:58px; padding:8px 16px; gap:10px; background:#fff; }
.selection-page .panel-heading span { font-size:14px; letter-spacing:0; }
.selection-page .panel-heading button { min-height:44px; padding:0; border:0; font-size:12px; color:#617167; }
.selection-page .form-section { padding:0 0 12px; }
.selection-page .field { padding:15px 16px; border-right:0; gap:7px; }
.selection-page .field>span:first-child,.selection-page .field-label,.selection-page .choice-group legend,.selection-page .material-head>span { font-size:12px; font-weight:600; letter-spacing:0; color:#53675a; }
.selection-page .field-label { display:flex; align-items:center; gap:7px; min-height:22px; }
.selection-page .field select,.selection-page .field input { height:44px; font-size:16px; font-weight:600; border-color:#b8c8bc; }
.selection-page .field input::placeholder { color:#738078; font-size:14px; }
.selection-page .unit-input { gap:6px; }
.selection-page .unit-input b { font-size:12px; color:#53675a; }
.selection-page .unit-input .unit-select { flex-basis:57px; width:57px; padding-left:3px; font-size:16px; }
.selection-page .choice-group { padding:15px 16px; }
.selection-page .choice-group legend { margin-bottom:10px; }
.selection-page .structure-options { gap:8px; }
.selection-page .structure-options label span { min-height:50px; padding:11px 12px; background:#fff; }
.selection-page .structure-options input:checked+span { background:#edf4ef; border-color:#1b573b; box-shadow:none; }
.selection-page .structure-options b { font-size:14px; }
.selection-page .structure-options b em { padding:2px 6px; color:#76551f; background:#f3e9d2; font-size:12px; font-weight:600; vertical-align:0; }
.selection-page .structure-options small { font-size:12px; }
.selection-page .chip-options span { height:44px; background:#fff; font-size:14px; font-weight:600; }
.selection-page .chip-options input:checked+span { background:var(--sel-green); }
.selection-page .chip-options.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.selection-page .advanced summary { min-height:48px; padding:15px 16px; font-size:13px; font-weight:600; }
.selection-page .material-head { padding:16px 16px 12px; }
.selection-page .material-row { grid-template-columns:18px minmax(78px,1fr) minmax(64px,.9fr) 94px; gap:7px; padding:10px 12px; cursor:auto; }
.selection-page .material-row:hover { background:#f7f9f7; }
.selection-page .material-row input[type=checkbox] { width:18px; height:18px; cursor:pointer; }
.selection-page .material-name { display:flex; align-items:center; gap:5px; }
.selection-page .material-name label { cursor:pointer; }
.selection-page .material-name b { font-size:14px; font-weight:600; }
.selection-page .material-row .qty input { height:44px; font-size:16px; font-weight:600; }
.selection-page .material-row .qty span { font-size:12px; color:#596e5f; }
.selection-page .material-row .density { display:flex; align-items:center; gap:3px; grid-column:auto; font-size:12px; color:#596e5f; }
.selection-page .density-input { width:52px; min-width:0; height:44px; font-size:16px; font-weight:600; }
.selection-page .material-row.disabled { opacity:.67; }
.selection-page .line-settings { margin-top:0; }
.selection-page .density-help { position:relative; flex:none; width:28px; height:28px; font-weight:400; letter-spacing:0; }
.selection-page .density-help summary { position:absolute; top:-8px; left:-8px; isolation:isolate; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; color:#355e45; background:transparent; font:600 13px/1 Arial,sans-serif; list-style:none; cursor:pointer; }
.selection-page .density-help summary::before { content:""; position:absolute; z-index:-1; inset:8px; border:1px solid #aabcb0; border-radius:50%; background:#fff; }
.selection-page .density-help summary::-webkit-details-marker { display:none; }
.selection-page .density-help summary::marker { content:""; }
.selection-page .density-help summary:focus-visible { outline:3px solid #cda453; outline-offset:3px; }
.selection-page .density-help[open] summary { color:#fff; }
.selection-page .density-help[open] summary::before { border-color:var(--sel-green); background:var(--sel-green); }
.selection-page .density-help p { position:absolute; z-index:12; top:calc(100% + 8px); left:-64px; width:232px; max-width:calc(100vw - 52px); margin:0; padding:12px 14px; border:1px solid #ccd7cd; background:#fff; color:#294532; box-shadow:0 8px 20px rgba(21,48,31,.09); font:400 13px/1.7 "Microsoft YaHei","PingFang SC",sans-serif; white-space:normal; text-align:left; }
.selection-page .material-row:has(.density-help[open]) { position:relative; z-index:5; opacity:1; }
.selection-page input[aria-invalid="true"],.selection-page select[aria-invalid="true"] { border-color:#ad443c; box-shadow:0 2px 0 #ad443c; }
.selection-page .output-panel { padding:26px; }
.selection-page .output-top { padding-bottom:18px; gap:16px; }
.selection-page .eyebrow { font-size:12px; font-weight:600; letter-spacing:.04em; color:#e8ca8a; }
.selection-page .output-top h2 { font-size:32px; line-height:1.2; overflow-wrap:anywhere; }
.selection-page .status-badge { min-height:30px; padding:0; border:0; background:transparent; color:#c8dfcf; font-size:12px; }
.selection-page .status-badge i { width:6px; height:6px; box-shadow:none; }
.selection-page .summary-metrics { gap:16px; }
.selection-page .metric { padding:19px 0; border:0; }
.selection-page .metric span { color:#bad0c3; font-size:12px; line-height:1.5; }
.selection-page .metric b { font-size:22px; font-weight:600; }
.selection-page .metric em { font-size:12px; }
.selection-page .result-content { padding:4px 0 16px; }
.selection-page .selection-reason { margin-top:16px; padding:12px 14px; font-size:14px; line-height:1.65; color:#e5ecdF; }
.selection-page .spec-grid { gap:0 18px; margin-top:0; background:transparent; }
.selection-page .spec-grid>div { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.13); background:transparent; }
.selection-page .spec-grid span { color:#bad0c3; font-size:12px; line-height:1.5; }
.selection-page .spec-grid b { margin-top:6px; font-size:14px; line-height:1.5; font-weight:600; }
.selection-page .alternatives { margin-top:8px; }
.selection-page .alternatives summary { display:flex; align-items:center; gap:8px; min-height:44px; width:fit-content; color:#d1dfd5; font-size:13px; cursor:pointer; list-style:none; }
.selection-page .alternatives summary::before { content:"+"; width:14px; color:#e6c17b; font-size:20px; font-weight:400; }
.selection-page .alternatives[open] summary::before { content:"−"; }
.selection-page .alternatives summary::-webkit-details-marker { display:none; }
.selection-page .alternatives summary span { color:#93b29e; font-size:12px; }
.selection-page .alternatives summary:focus-visible { outline:2px solid #d7aa56; outline-offset:3px; }
.selection-page .alt-row { padding:12px 0; font-size:14px; }
.selection-page .combo-list { gap:0; }
.selection-page .combo-card { padding:18px 0; gap:14px; border-left:0; border-bottom:1px solid rgba(255,255,255,.16); background:transparent; }
.selection-page .combo-card b { font-size:14px; font-weight:600; }
.selection-page .combo-card small { font-size:12px; color:#bad0c3; line-height:1.7; }
.selection-page .combo-card .count { font-size:21px; }
.selection-page .equipment-block { margin-top:22px; }
.selection-page .equipment-title { margin-bottom:8px; font-size:13px; color:#e7cd98; font-weight:600; letter-spacing:0; }
.selection-page .equipment-grid { gap:0 20px; }
.selection-page .equipment-card { padding:14px 0; border:0; border-top:1px solid rgba(255,255,255,.13); background:transparent; }
.selection-page .equipment-card span { font-size:12px; color:#bad0c3; }
.selection-page .equipment-card b { margin:7px 0; font-size:14px; font-weight:600; line-height:1.6; }
.selection-page .equipment-card small { font-size:12px; line-height:1.7; color:#bad0c3; overflow-wrap:anywhere; }
.selection-page .view-module { margin-top:8px; }
.selection-page .site-limit-options { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 16px 16px; }
.selection-page .site-limit-options label { position:relative; min-width:0; }
.selection-page .site-limit-options span { height:auto; min-height:44px; padding:10px 8px; text-align:center; line-height:1.4; }
.selection-page #comboSiteFields { min-width:0; margin:0; padding:0; border:0; }
.selection-page .site-scope { margin:10px 16px 16px; color:#52645b; font-size:12px; line-height:1.6; }
.selection-page .site-fit-summary { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-bottom:12px; padding:12px 14px; border:1px solid #c9d8d0; background:#edf4ef; color:#315441; font-size:12px; }
.selection-page .site-fit-summary b { font-size:16px; font-variant-numeric:tabular-nums; }
.selection-page .view-tab { min-height:48px; font-size:13px; font-weight:600; }
.selection-page .three-controls { flex-wrap:wrap; gap:10px; padding:10px; }
.selection-page .three-view-controls { flex-wrap:wrap; gap:6px; }
.selection-page .three-view-controls button { min-height:44px; padding:0 10px; font-size:12px; font-weight:600; }
.selection-page .three-option-controls { flex-wrap:wrap; min-width:0; }
.selection-page .three-option-controls label { min-width:0; font-size:12px; color:#c0d2c7; }
.selection-page .three-option-controls select { height:44px; font-size:14px; }
.selection-page .flow-toolbar { flex-wrap:wrap; gap:10px; font-size:12px; color:#c0d2c7; }
.selection-page .flow-toolbar select { height:44px; font-size:14px; }
.selection-page .three-loading,.selection-page .three-fallback { padding:20px; font-size:14px; text-align:center; }
.selection-page .three-fallback span { font-size:13px; line-height:1.6; }
.selection-page .selection-cta { padding:52px 0; background:#fff; color:var(--sel-ink); border-top:1px solid var(--sel-line); }
.selection-page .selection-cta>.shell { gap:32px; }
.selection-page .selection-cta h2 { margin:0 0 10px; color:var(--sel-green); font-size:30px; letter-spacing:-.02em; }
.selection-page .contact-person { margin-top:0; color:#596e5f; font-size:14px; font-weight:400; }
.selection-page .selection-cta .button { min-height:48px; border-color:#c3d0c7; background:transparent; color:var(--sel-green); }
.selection-page .selection-cta .button-gold { background:var(--sel-green); border-color:var(--sel-green); color:#fff; }
.selection-page .selection-cta .button:hover { background:#edf3ef; color:var(--sel-green); }
.selection-page .selection-cta .button span { font-size:14px; }

@media (max-width:1120px) {
  .selection-page .workbench { grid-template-columns:330px minmax(0,1fr); gap:18px; }
  .selection-page .output-panel { padding:22px; }
  .selection-page .summary-metrics { gap:0 18px; }
  .selection-page .spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .selection-page .material-row { padding-inline:9px; grid-template-columns:18px minmax(71px,1fr) minmax(57px,.9fr) 90px; gap:6px; }
  .selection-page .density-input { width:48px; }
}
@media (max-width:900px) {
  .selection-page .selector-hero { padding-top:104px; }
  .selection-page .workbench { grid-template-columns:1fr; gap:22px; }
  .selection-page .config-panel { position:static; max-height:none; overflow:visible; }
  .selection-page .panel-heading { position:static; }
  .selection-page .material-row { grid-template-columns:22px minmax(86px,1fr) minmax(90px,1fr) minmax(100px,1fr); padding-inline:16px; }
  .selection-page .three-controls { flex-direction:column; align-items:stretch; }
  .selection-page .three-view-controls,.selection-page .three-option-controls { overflow:visible; }
  .selection-page .selection-cta>.shell { grid-template-columns:1fr; gap:24px; }
}
@media (max-width:640px) {
  .selection-page .selector-hero { padding:94px 0 18px; }
  .selection-page .selector-hero h1 { font-size:clamp(27px,7.6vw,34px); margin-bottom:10px; }
  .selection-page .selector-hero h1 span { margin-left:4px; }
  .selection-page .selector-hero .hero-lead { font-size:14px; line-height:1.65; }
  .selection-page .workspace { padding:12px 0 40px; }
  .selection-page .mode-switch { margin-bottom:18px; gap:25px; }
  .selection-page .mode-btn { min-height:48px; padding-inline:2px; }
  .selection-page .mode-btn b { font-size:16px; }
  .selection-page .field { padding:13px 12px; }
  .selection-page .field-grid.three .field { padding-inline:9px; }
  .selection-page .field input,.selection-page .field select,.selection-page .material-row input[type=number],.selection-page .three-option-controls select,.selection-page .flow-toolbar select { font-size:16px; }
  .selection-page .field>span:first-child,.selection-page .field-label,.selection-page .choice-group legend { font-size:12px; }
  .selection-page .choice-group { padding:14px 12px; }
  .selection-page .structure-options label span { min-height:50px; }
  .selection-page .material-row { grid-template-columns:20px minmax(0,1fr) 98px; gap:6px 10px; padding:8px 12px; }
  .selection-page .material-row .density { grid-column:2/-1; margin-top:-5px; gap:6px; }
  .selection-page .material-row .density::before { content:"实际容重"; color:#596e5f; font-size:12px; }
  .selection-page .density-input { width:65px; }
  .selection-page .density-help p { top:calc(100% + 6px); }
  .selection-page .output-panel { padding:20px 16px; }
  .selection-page .output-top { display:flex; gap:10px; }
  .selection-page .output-top h2 { font-size:27px; }
  .selection-page .status-badge { margin:0; padding-top:2px; font-size:12px; }
  .selection-page .summary-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
  .selection-page .metric { padding:15px 0; }
  .selection-page .metric b { font-size:21px; }
  .selection-page .spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
  .selection-page .spec-grid>div { padding:13px 0; }
  .selection-page .spec-grid b { font-size:14px; }
  .selection-page .combo-card { gap:12px; padding:16px 0; }
  .selection-page .combo-card>div:first-child { padding:0; border:0; }
  .selection-page .view-module { margin:8px -16px 0; }
  .selection-page .view-tab { flex-basis:100px; font-size:13px; }
  .selection-page .three-view-controls { display:flex; flex-wrap:wrap; gap:6px; }
  .selection-page .three-view-controls button { width:auto; flex:1 0 auto; min-height:44px; padding:0 10px; font-size:12px; }
  .selection-page .three-option-controls { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); width:100%; }
  .selection-page .three-option-controls select { width:100%; max-width:none; min-width:0; }
  .selection-page .three-option-controls label { display:grid; gap:4px; }
  .selection-page .selection-cta { padding:38px 0; }
  .selection-page .selection-cta h2 { font-size:27px; }
}
@media (max-width:350px) {
  .selection-page .field-grid.two,.selection-page .field-grid.three { grid-template-columns:1fr; }
  .selection-page .structure-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .selection-page .output-top { display:block; }
  .selection-page .status-badge { margin-top:8px; }
  .selection-page .spec-grid { grid-template-columns:1fr; }
}

/* English labels use the same controls and values, with room for longer names. */
html[lang="en"] .selection-page .selector-hero h1 { letter-spacing:-.025em; }
html[lang="en"] .selection-page .selector-hero .hero-lead { max-width:780px; }
html[lang="en"] .selection-page .field>span:first-child { min-height:18px; line-height:1.5; }
html[lang="en"] .selection-page .field-label { flex-wrap:wrap; }
html[lang="en"] .selection-page .field-grid.three { grid-template-columns:repeat(2,minmax(0,1fr)); }
html[lang="en"] .selection-page .field-grid.three .field:has(#plantType) { grid-column:1/-1; }
html[lang="en"] .selection-page .structure-options b { line-height:1.45; }
html[lang="en"] .selection-page .structure-options label span { min-height:64px; }
html[lang="en"] .selection-page .material-row { grid-template-columns:20px minmax(0,1fr) 94px; gap:5px 10px; padding:10px 12px; }
html[lang="en"] .selection-page .material-name { min-width:0; gap:7px; }
html[lang="en"] .selection-page .material-name b { font-size:14px; line-height:1.4; overflow-wrap:normal; }
html[lang="en"] .selection-page .material-row .density { grid-column:2/-1; display:flex; margin-top:-4px; gap:6px; }
html[lang="en"] .selection-page .material-row .density::before { content:"Bulk density"; color:#596e5f; font-size:12px; }
html[lang="en"] .selection-page .density-input { width:66px; }
html[lang="en"] .selection-page .density-help p { width:232px; font-size:13px; line-height:1.65; }
html[lang="en"] .selection-page .output-top h2 { font-size:clamp(25px,2.5vw,32px); line-height:1.25; }
html[lang="en"] .selection-page .metric span { min-height:36px; font-size:12px; line-height:1.5; }
html[lang="en"] .selection-page .metric em { display:inline-block; margin-left:5px; }
html[lang="en"] .selection-page .spec-grid b,html[lang="en"] .selection-page .combo-card small,html[lang="en"] .selection-page .equipment-card small { overflow-wrap:normal; word-break:normal; }
html[lang="en"] .selection-page .combo-card { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.75fr); }
html[lang="en"] .selection-page .combo-card .material-label { gap:8px; }
html[lang="en"] .selection-page .combo-card .count { font-size:17px; }
html[lang="en"] .selection-page .view-tab { font-size:12px; line-height:1.35; padding:8px; }
html[lang="en"] .selection-page .three-view-controls { flex-wrap:wrap; }
html[lang="en"] .selection-page .three-option-controls { display:grid; width:100%; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); align-items:start; }
html[lang="en"] .selection-page .three-option-controls label { display:grid; gap:5px; }
html[lang="en"] .selection-page .three-option-controls select { width:100%; max-width:none; min-width:0; }
html[lang="en"] .selection-page .flow-toolbar label { flex-wrap:wrap; font-size:12px; }
html[lang="en"] .selection-page .flow-toolbar select { min-width:130px; }
html[lang="en"] .selection-page #engineeringDrawing .flow-label { font-family:Arial,sans-serif; }
html[lang="en"] .selection-page .drawing-stage.is-flow-panorama { height:550px; max-width:100%; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scrollbar-color:#789c8b #17292f; }
html[lang="en"] .selection-page .drawing-stage.is-flow-panorama>svg { min-width:1100px; width:max(100%,1100px); max-width:none; height:100%; }
html[lang="en"] .selection-page .drawing-stage.is-flow-panorama>svg:focus-visible { outline:2px solid #d7aa56; outline-offset:-3px; }
@media (max-width:1120px) {
  html[lang="en"] .selection-page .equipment-grid { grid-template-columns:1fr; }
  html[lang="en"] .selection-page .combo-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  html[lang="en"] .selection-page .combo-card>div:first-child { grid-column:1/-1; }
}
@media (max-width:640px) {
  html[lang="en"] .selection-page .selector-hero h1 { font-size:29px; line-height:1.2; }
  html[lang="en"] .selection-page .selector-hero .hero-lead { font-size:14px; line-height:1.65; }
  html[lang="en"] .selection-page .panel-heading { gap:8px; }
  html[lang="en"] .selection-page .panel-heading span { font-size:14px; }
  html[lang="en"] .selection-page .field-label { gap:5px; }
  html[lang="en"] .selection-page .density-help p { left:-80px; }
  html[lang="en"] .selection-page .metric span { min-height:18px; }
  html[lang="en"] .selection-page .combo-card>div:last-child { text-align:left; }
  html[lang="en"] .selection-page .spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[lang="en"] .selection-page .three-view-controls button { flex-basis:calc(33.33% - 6px); font-size:12px; padding-inline:6px; }
  html[lang="en"] .selection-page .three-option-controls { grid-template-columns:1fr; }
  html[lang="en"] .selection-page .three-option-controls select,html[lang="en"] .selection-page .flow-toolbar select { font-size:16px; }
  html[lang="en"] .selection-page .flow-toolbar label { flex:1 1 130px; }
  html[lang="en"] .selection-page .flow-toolbar select { width:100%; }
}
@media (max-width:350px) {
  html[lang="en"] .selection-page .field-grid.three,html[lang="en"] .selection-page .spec-grid { grid-template-columns:1fr; }
}
