.porta-ecosystem{position:relative;width:min(720px,48vw);aspect-ratio:1/1;min-width:620px;margin:0 auto;flex-shrink:0;isolation:isolate}.porta-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(37,169,255,.22);pointer-events:none}.ring-a{width:280px;height:280px}.ring-b{width:455px;height:455px}.ring-c{width:630px;height:630px}.porta-center{position:absolute;left:50%;top:50%;width:180px;height:180px;transform:translate(-50%,-50%);z-index:8}.porta-center-glow{position:absolute;inset:-50px;border-radius:50%;background:radial-gradient(circle,rgba(17,153,255,.34),rgba(17,153,255,.10) 42%,transparent 72%)}.porta-logo-circle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:6px solid rgba(255,255,255,.16);box-shadow:0 0 0 1px rgba(30,168,255,.25),0 0 45px rgba(0,151,255,.34),0 20px 50px rgba(0,0,0,.25);animation:portaFloat 4s ease-in-out infinite}.porta-logo-circle img{width:145px;height:145px;object-fit:contain}.porta-node{position:absolute;width:120px;min-height:88px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:18px;background:linear-gradient(145deg,rgba(10,57,103,.98),rgba(5,36,70,.98));border:1px solid rgba(40,165,255,.52);box-shadow:0 15px 35px rgba(0,0,0,.2);z-index:10;transition:.25s}.porta-node:hover{transform:translateY(-6px);border-color:#28b8ff}.porta-node .node-icon{width:28px;height:28px;display:grid;place-items:center;margin-bottom:5px;border-radius:8px;background:rgba(21,158,255,.12);color:#29b6ff;font-size:17px;font-weight:800}.porta-node b{color:#fff;font-size:13px;font-weight:800}.porta-node small{color:#9bbbd5;margin-top:4px;font-size:9px}.ai-node{border-color:rgba(41,183,255,.85);background:linear-gradient(145deg,#0b528d,#062f5c)}.ai-tag{position:absolute;right:7px;top:6px;padding:3px 6px;border-radius:20px;background:linear-gradient(135deg,#22bdff,#087cf5);color:#fff;font-size:7px;font-weight:900}.node-pos{left:50%;top:0;transform:translateX(-50%)}.node-online{left:14%;top:7%}.node-stock{right:14%;top:7%}.node-recipe{left:0;top:24%}.node-scheme{right:0;top:24%}.node-ai-focus{left:-3%;top:43%}.node-ai-slow{right:-3%;top:43%}.node-profit{left:1%;bottom:24%}.node-expense{right:1%;bottom:24%}.node-dealer{left:14%;bottom:7%}.node-customer{right:14%;bottom:7%}.node-dealer-ledger{left:50%;bottom:0;transform:translateX(-50%)}.node-kds{left:21%;top:50%;transform:translateY(-50%)}.node-report{right:21%;top:50%;transform:translateY(-50%)}@keyframes portaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(max-width:1200px){.ecosystemSection{grid-template-columns:1fr!important}.porta-ecosystem{margin-top:50px}}@media(max-width:760px){.porta-ecosystem{width:100%;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:42px}.porta-ring{display:none}.porta-center{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;width:160px;height:160px;margin:0 auto 28px}.porta-logo-circle img{width:128px;height:128px}.porta-node{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%;min-height:100px}}
.node-pos:hover,.node-dealer-ledger:hover{transform:translateX(-50%) translateY(-6px) scale(1.03)}
.node-kds:hover,.node-report:hover{transform:translateY(calc(-50% - 6px)) scale(1.03)}
