/* CD-V7: EDENA-inspired visual hierarchy, independently implemented. */
:root,.rebuild{--ink:#183354;--paper:#f4f6fa;--surface:#fff;--soft:#e9eef5;--line:#d4deea;--gold:#d0aa65;--dark:#102747}
.header{background:#102747;border-color:#284462;color:#f6f8fc;height:88px}.brand small{color:#c6d4e4!important}.header nav a{font-size:14px;font-weight:600;color:#e3ebf6}.header nav a:hover,.header nav a[aria-current=page]{color:#f1d39c}.header nav a[aria-current=page]:after{background:#d0aa65}.workspace-link{background:#ffffff12;color:#f3f7ff;border-color:#a8bed566}.join-button{background:linear-gradient(180deg,#dfc38d,#b99556);color:#1a2c44;border-color:#ebd5a4}
.network-section{background:radial-gradient(ellipse at 70% 44%,#315f8a 0%,#193957 42%,#10243e 100%)}.network-section:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#b6d4ef0d 1px,transparent 1px),linear-gradient(90deg,#b6d4ef0d 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(90deg,transparent 8%,#000 65%)}.network-layout{grid-template-columns:270px minmax(0,1fr);min-height:550px}.network-intro{padding-top:65px}.network-intro h1{font-family:"Microsoft YaHei",sans-serif;font-size:51px;font-weight:700;letter-spacing:1px;line-height:1.38}.network-intro>p{font-size:14px;color:#e0eaf5}.graph-svg{height:520px;filter:drop-shadow(0 0 10px #86b7df30)}.graph-svg .edge{stroke:#9ac8ec;opacity:.65}.graph-svg .node.cluster circle{fill:#bedcf4;stroke:#719ac2}.graph-svg .node.hub circle{fill:#efc77d;stroke:#ffffff35}.graph-svg .node text{font-size:15px;fill:#f1f7ff;font-weight:600}.graph-svg .satellite{fill:#a3d1f4;opacity:.85}.network-intro .text-link{background:#d3ad67;color:#142a45;border-color:#e2c88f;font-weight:700;box-shadow:0 7px 24px #0004}.cluster-tabs button{background:#dbeeff15;color:#e7f1fa;border-color:#c3d9ed55}.selected-strip{background:#fff;border:1px solid #dae3ed;border-radius:10px;padding:23px 28px;box-shadow:0 10px 30px #183d6312;margin-top:20px}
.section-head h2{font-size:34px;font-weight:700}.section-head p,.product-card p{font-size:13px}.eyebrow{font-weight:700;color:#7389a3}.product-grid{gap:24px}.product-card{background:#fff;border:1px solid #d7e1ed;border-radius:10px;box-shadow:0 12px 30px #1d426012;overflow:hidden}.product-card>button{padding:0;margin:0;width:100%;border:0;border-radius:10px}.product-card .meta,.product-card h3,.product-card p,.product-card .card-bottom{margin-left:18px;margin-right:18px}.product-card .card-bottom{padding-bottom:16px}.product-art,.product-art.art-1,.product-art.art-2,.product-art.art-3{height:225px;background:radial-gradient(circle at 50% 35%,#5f86a7 0%,#254d70 58%,#142d4a 100%);border:0}.product-art svg{color:#d9e9f6;stroke-width:1.35;filter:drop-shadow(0 8px 8px #091c2f66)}.product-art .product-no{color:#d1dfeb}.product-art .art-tag{background:#f2f6fc;color:#315574}.product-card:hover .product-art svg{transform:scale(1.08)}.product-card>button:hover{transform:translateY(-3px);box-shadow:0 14px 30px #14355424}.opportunity{background:#fff;border:1px solid #d8e3ee;border-radius:10px;margin:10px 0;padding:22px 20px;box-shadow:0 5px 18px #1b3c5c0b}.opportunity-list{border:0}.services-grid{gap:14px;border:0}.service-feature,.service-group{border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #15345512}.service-feature{background:linear-gradient(135deg,#102747,#285577)}.service-group{background:#fff;border:1px solid #d5e0ec}.service-group h3{font-weight:700}.community-items>button{border-color:#c5d5e5;box-shadow:0 5px 14px #1b3c5c12}.closing{background:#102747}footer{background:#e6edf5}
@media(max-width:900px){.header{height:80px}.header nav{top:80px;background:#102747}.network-layout{grid-template-columns:190px minmax(0,1fr)}.network-intro h1{font-size:39px}.graph-svg{height:440px}.network-layout{min-height:465px}}
@media(max-width:600px){.header{height:76px}.header nav{top:76px}.network-layout{display:flex;min-height:0}.network-intro{padding-top:30px}.network-intro h1{font-size:34px;line-height:1.35}.network-intro>p{font-size:12px}.graph-svg{height:285px}.graph-svg .node text{font-size:24px}.product-art,.product-art.art-1,.product-art.art-2,.product-art.art-3{height:150px}.section-head h2{font-size:26px}.product-card .meta,.product-card h3,.product-card p,.product-card .card-bottom{margin-left:10px;margin-right:10px}.services-grid{gap:10px}.selected-strip{padding:18px}}
/* CD-V8: grouped, geographic relationship view */
.network-section{background:radial-gradient(ellipse at 67% 50%,#23486a 0%,#142e4e 55%,#0c2039 100%)}
.network-section:before{opacity:.32;background-size:80px 80px}.graph-svg{filter:none;overflow:visible}.atlas-route,.atlas-link,.atlas-detail-line{fill:none;stroke:url(#network-line);stroke-width:1.15}.atlas-route{opacity:.55;stroke-dasharray:2 8}.atlas-link{opacity:.75}.atlas-link.is-selected,.atlas-detail-line{stroke:#e4c88e;opacity:.9}.city-halo{fill:#aecfe6;opacity:.035;stroke:#bed8ed;stroke-width:1}.city-dot{fill:#e3c48a}.city-label{fill:#c3d8e8;font-size:11px;letter-spacing:2px}.node-hit{fill:#cce7fa;fill-opacity:.035;stroke:#d2ebff;stroke-opacity:.18;stroke-width:1}.node-halo{fill:#b5d7ec;fill-opacity:.08;stroke:#c6e6fa;stroke-opacity:.16}.node-core{fill:#d0e9f9;stroke:#739cbc;stroke-width:3}.atlas-node{cursor:pointer}.atlas-node:hover .node-hit,.atlas-node:focus-visible .node-hit,.atlas-node.is-selected .node-hit{fill:#d6b980;fill-opacity:.16;stroke:#e7cd9a;stroke-opacity:.7}.atlas-node.is-selected .node-core{fill:#f1cf8b}.node-name{fill:#f4f8fc;font-size:14px;font-weight:600}.node-sub{fill:#afc5d8;font-size:10px}.atlas-brand circle:not(:first-child){fill:#f0cd88}.atlas-brand text{fill:#f4e3bc;font-size:14px;font-weight:700;letter-spacing:2px}.atlas-brand .atlas-brand-sub{font-size:10px;font-weight:400;letter-spacing:1px;fill:#bed0df}.atlas-detail{cursor:pointer}.atlas-detail rect{fill:#203c55;stroke:#d8bd88;stroke-opacity:.8}.atlas-detail circle{fill:#e9ca8c}.atlas-detail text{fill:#f5ead1;font-size:11px}.atlas-detail:hover rect,.atlas-detail:focus-visible rect{fill:#36556f;stroke:#f5ddab}
@media(max-width:600px){.node-name{font-size:19px}.node-sub{font-size:14px}.city-label{font-size:15px}.atlas-brand text{font-size:18px}.atlas-brand .atlas-brand-sub{font-size:13px}.atlas-detail text{font-size:15px}}
