.blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(2px)}.blob.b1{width:360px;height:360px;right:-110px;top:-70px;background:radial-gradient(circle at 32% 30%,rgba(43,214,123,.42),rgba(21,184,196,.12) 60%,transparent 72%)}.hub-wrap{position:relative;margin:46px auto 0;max-width:980px;overflow-x:auto;overflow-y:hidden}.partner-ecosystem-cards{width:980px;display:grid;grid-template-columns:repeat(5,184px);gap:15px}.ecosystem-card{position:relative;width:184px;height:158px;padding:21px 22px;overflow:hidden;border-radius:16px;display:block;background:#18191c;border:1px solid rgba(255,255,255,.07);text-decoration:none;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.ecosystem-card:hover{transform:translateY(-3px);border-color:#ffffff29;box-shadow:0 15px 34px -22px #ffffff4d}.ecosystem-kicker{display:flex;align-items:center;gap:8px;color:#888b92;font-size:11.5px;font-weight:400;line-height:16px}.ecosystem-kicker i{width:6px;height:6px;flex:none;border-radius:50%;background:#2bd67b}.ecosystem-logo{display:block;width:136px;height:40px;margin:7px auto 0;object-fit:contain;object-position:center}.ecosystem-logo.hccorp-logo{width:118px;height:42px}.ecosystem-logo.sangfor-logo{width:126px}.ecosystem-line{position:absolute;left:22px;right:22px;top:100px;height:1px;background:#ffffff14}.ecosystem-card>span{position:absolute;left:22px;top:115px;color:#6ee7a8;font-size:12px;font-weight:800;line-height:18px}.tabset .tabnav button{height:62px;padding:10px 18px;justify-content:center;background:#18191c}.tabset .tabnav button .tab-logo{display:block;width:148px;height:38px;object-fit:contain;object-position:center}.tabset .tabnav button .logo-color{display:none}.tabset .tabnav button[data-tab=telestream] .logo-color{height:40px;object-fit:cover;object-position:center;transform:translateY(5px) scale(.9)}.tabset .tabnav button[data-tab=hccorp] .tab-logo{width:128px;height:44px}.tabset .tabnav button[data-tab=sangfor] .tab-logo{width:132px}.tabset .tabnav button.on{background:#fff;border-color:#fff;box-shadow:0 12px 26px -12px #ffffff47}.tabset .tabnav button.on .logo-white{display:none}.tabset .tabnav button.on .logo-color{display:block}.ptop{display:grid;grid-template-columns:1fr .92fr;gap:42px;align-items:center;margin-bottom:10px}.ptop .phead{margin-bottom:0}.pmvis{position:relative}.pmvis .glow{position:absolute;z-index:0;width:80%;height:80%;left:10%;top:12%;border-radius:50%;filter:blur(58px);opacity:.5;background:radial-gradient(circle,color-mix(in srgb,var(--pc) 55%,transparent),transparent 70%)}.pmock{position:relative;z-index:1;border-radius:16px;overflow:hidden;padding:18px;background:linear-gradient(165deg,var(--surface-2),var(--surface));border:1px solid var(--line-strong);box-shadow:0 32px 70px -32px #000000e6}.pmock:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--pc)}.pm-bar{display:flex;align-items:center;gap:7px;margin-bottom:15px}.pm-bar i{width:9px;height:9px;border-radius:50%;background:#2c3a32}.pm-bar i:nth-child(1){background:#ff5f57}.pm-bar i:nth-child(2){background:#febc2e}.pm-bar i:nth-child(3){background:#28c840}.pm-bar .mt{margin-left:8px;font-size:11px;color:var(--text-mute);font-weight:600}.pm-bar .bt{margin-left:auto;font-size:9.5px;font-weight:800;letter-spacing:.06em;color:var(--pc);padding:2px 8px;border-radius:5px;background:color-mix(in srgb,var(--pc) 14%,transparent);border:1px solid color-mix(in srgb,var(--pc) 40%,transparent)}.pm-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}.pm-row .lbl{font-size:11px;font-weight:700;color:var(--text-soft);min-width:62px}.pm-row .track{flex:1;height:8px;border-radius:4px;background:#ffffff0f;overflow:hidden}.pm-row .track i{display:block;height:100%;border-radius:4px;background:var(--pc)}.pm-row .val{font-size:10.5px;font-weight:700;color:var(--text-mute);min-width:50px;text-align:right}.pm-pipe{display:flex;align-items:center;gap:0;margin:4px 0 16px}.pm-pipe .st{flex:1;text-align:center;padding:9px 4px;border-radius:8px;background:#ffffff0a;border:1px solid var(--line);font-size:9.5px;font-weight:800;color:var(--text-soft);letter-spacing:.03em}.pm-pipe .st.on{background:color-mix(in srgb,var(--pc) 18%,transparent);border-color:color-mix(in srgb,var(--pc) 45%,transparent);color:var(--text)}.pm-pipe .ar{flex:none;color:var(--pc);font-weight:800;font-size:11px;padding:0 3px}.pm-cap{font-size:10.5px;color:var(--text-mute);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.pm-cctv{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pm-cam{position:relative;aspect-ratio:16/10;border-radius:9px;overflow:hidden;border:1px solid var(--line);background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 6px),linear-gradient(135deg,color-mix(in srgb,var(--pc) 28%,#0c1a14),#0c1a14 80%)}.pm-cam .box{position:absolute;border:1.5px solid var(--pc);border-radius:3px;box-shadow:0 0 8px color-mix(in srgb,var(--pc) 60%,transparent)}.pm-cam .bx1{left:18%;top:26%;width:30%;height:46%}.pm-cam .bx2{left:54%;top:38%;width:24%;height:38%}.pm-cam .tagx{position:absolute;top:6px;left:6px;font-size:7.5px;font-weight:800;color:#fff;background:color-mix(in srgb,var(--pc) 82%,#000);padding:1px 5px;border-radius:3px;letter-spacing:.04em}.pm-qc{display:flex;flex-direction:column;gap:8px}.pm-qc .qrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;background:#ffffff08;border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--text-soft)}.pm-qc .qrow .ck{width:17px;height:17px;border-radius:5px;background:var(--pc);display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900;flex:none}.pm-qc .qrow .stt{margin-left:auto;font-size:10px;font-weight:800;padding:2px 8px;border-radius:5px}.pm-qc .qrow .stt.pass{color:var(--accent);background:#2bd67b1f}.pm-qc .qrow .stt.warn{color:var(--highlight);background:#c6ff4f1f}.pm-dist{display:grid;grid-template-columns:auto 24px 1fr;gap:10px;align-items:center}.pm-src{padding:16px 12px;border-radius:10px;text-align:center;font-size:11px;font-weight:800;color:var(--text);background:color-mix(in srgb,var(--pc) 16%,transparent);border:1px solid color-mix(in srgb,var(--pc) 45%,transparent)}.pm-src small{display:block;font-size:8.5px;font-weight:700;color:var(--text-mute);margin-top:4px;letter-spacing:.06em}.pm-fan{position:relative;height:100%;min-height:120px}.pm-fan svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.pm-outs{display:flex;flex-direction:column;gap:8px}.pm-out{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:8px;background:#ffffff0a;border:1px solid var(--line);font-size:11px;font-weight:700;color:var(--text-soft)}.pm-out:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pc);box-shadow:0 0 6px var(--pc);flex:none}.pm-out .hz{margin-left:auto;font-size:9.5px;color:var(--text-mute);font-weight:600}.pm-nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.pm-node{padding:12px 8px;border-radius:10px;background:#ffffff0a;border:1px solid var(--line);text-align:center}.pm-node .nn{font-size:8.5px;font-weight:800;color:var(--text-mute);letter-spacing:.06em;margin-bottom:9px}.pm-node .ring{position:relative;width:46px;height:46px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:conic-gradient(var(--pc) calc(var(--p)*3.6deg),rgba(255,255,255,.08) 0)}.pm-node .ring b{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:10px;font-weight:800;color:var(--text)}.pm-node .nl{font-size:9px;color:var(--text-mute);margin-top:8px;font-weight:600}.pm-hstat{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;background:#2bd67b14;border:1px solid var(--accent-glow);font-size:11px;font-weight:700;color:var(--text)}.pm-hstat:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);flex:none}.pm-hstat .r{margin-left:auto;font-size:10px;color:var(--text-mute);font-weight:600}@media (max-width:900px){.ptop{grid-template-columns:1fr;gap:30px}.pmvis{order:2}.blob{display:none}}@media (max-width:560px){.pm-cctv{grid-template-columns:1fr}.pm-nodes{grid-template-columns:1fr 1fr}.pm-dist{grid-template-columns:1fr}.pm-fan{display:none}}
