.ecosystem-map-site{background:#f4f7fb;color:var(--portal-ink)}
.ecosystem-map-header{background:rgba(244,247,251,.9)}
.ecosystem-language-links{align-items:center;gap:.35rem}
.ecosystem-language-links--desktop{display:flex}
.ecosystem-language-links a{display:grid;place-items:center;min-width:2.25rem;height:2rem;border:1px solid var(--portal-line);border-radius:.65rem;color:var(--portal-muted);font:800 .7rem/1 var(--portal-font);text-decoration:none}
.ecosystem-language-links a[aria-current="page"]{border-color:#197b9f;background:#e6f6fb;color:#075f7e}
.ecosystem-hero{position:relative;overflow:hidden;padding:7rem 0 5rem;background:radial-gradient(circle at 15% 20%,rgba(38,194,190,.18),transparent 31rem),linear-gradient(140deg,#071a2f 0%,#0e3153 57%,#0a5e6c 100%);color:#fff}
.ecosystem-hero:after{position:absolute;inset-block-start:-18rem;inset-inline-end:-10rem;width:42rem;height:42rem;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 5rem rgba(255,255,255,.025),0 0 0 10rem rgba(255,255,255,.018);content:""}
.ecosystem-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr);align-items:center;gap:5rem}
.ecosystem-hero h1{max-width:48rem;margin:.8rem 0 1.1rem;font-size:clamp(3rem,7vw,6.7rem);line-height:.98;letter-spacing:-.055em}
[dir="rtl"] .ecosystem-hero h1{letter-spacing:-.035em}
.ecosystem-hero p{max-width:42rem;margin:0;color:#c8d8e6;font-size:1.08rem;line-height:2}
.ecosystem-hero__metrics{display:flex;gap:2.2rem;margin-top:2.2rem}
.ecosystem-hero__metrics span{display:grid;color:#a9c1d2;font-size:.78rem}
.ecosystem-hero__metrics strong{color:#fff;font-size:1.65rem}
.ecosystem-root-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.2rem;padding:1.5rem;border:1px solid rgba(255,255,255,.14);border-radius:1.5rem;background:rgba(255,255,255,.08);box-shadow:0 2rem 6rem rgba(0,0,0,.22);backdrop-filter:blur(1.2rem)}
.ecosystem-root-card__mark{display:grid;place-items:center;width:5rem;height:5rem;border-radius:1.35rem;background:linear-gradient(145deg,#67f0d0,#30aaca);color:#06213a;font-size:2.6rem;font-weight:900;box-shadow:0 1rem 2.8rem rgba(51,206,195,.22)}
.ecosystem-root-card small{display:block;color:#8fe8d7;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.ecosystem-root-card strong{display:block;margin:.2rem 0;font-size:1.6rem}
.ecosystem-root-card p{font-size:.82rem;line-height:1.75}
.ecosystem-tree{position:relative;padding-block:4.5rem 6rem}
.ecosystem-toolbar{position:relative;z-index:2;display:grid;gap:1rem;margin-bottom:2.2rem;padding:1.2rem;border:1px solid #d8e5ed;border-radius:1.4rem;background:rgba(255,255,255,.92);box-shadow:0 1rem 3rem rgba(16,45,73,.07)}
.ecosystem-search{display:grid;grid-template-columns:minmax(10rem,.42fr) minmax(14rem,1fr);align-items:center;gap:1rem;color:#24465f;font-size:.82rem;font-weight:800}
.ecosystem-search__control{position:relative;display:block}
.ecosystem-search__control i{position:absolute;inset-block-start:50%;inset-inline-start:1rem;width:.72rem;height:.72rem;border:.12rem solid #628297;border-radius:50%;transform:translateY(-58%)}
.ecosystem-search__control i:after{position:absolute;inset-block-end:-.32rem;inset-inline-end:-.25rem;width:.4rem;height:.12rem;border-radius:999px;background:#628297;transform:rotate(45deg);content:""}
[dir="rtl"] .ecosystem-search__control i:after{transform:rotate(-45deg)}
.ecosystem-search input{width:100%;height:3.15rem;padding:0 2.7rem 0 1rem;border:1px solid #cfdee8;border-radius:.95rem;background:#f9fbfd;color:#102e47;font:inherit;outline:none}
[dir="ltr"] .ecosystem-search input{padding:0 1rem 0 2.7rem}
.ecosystem-search input:focus{border-color:#2b99b3;box-shadow:0 0 0 .22rem rgba(43,153,179,.13)}
.ecosystem-category-filters{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:thin}
.ecosystem-category-filters button,.ecosystem-toolbar__actions button,.ecosystem-empty button{flex:none;padding:.62rem .85rem;border:1px solid #d3e0e8;border-radius:.75rem;background:#fff;color:#506a7b;font:800 .72rem/1 var(--portal-font);cursor:pointer}
.ecosystem-category-filters button[aria-pressed="true"]{border-color:#168aa1;background:#e8f7f8;color:#0c6e7e}
.ecosystem-category-filters button:focus-visible,.ecosystem-toolbar__actions button:focus-visible,.ecosystem-empty button:focus-visible{outline:.18rem solid #2588ad;outline-offset:.12rem}
.ecosystem-toolbar__actions{display:flex;align-items:center;gap:.55rem;border-block-start:1px solid #e5edf2;padding-block-start:1rem}
.ecosystem-toolbar__actions output{margin-inline-end:auto;color:#4e6879;font-size:.78rem}
.ecosystem-trunk{position:absolute;inset-block:0 auto;inset-inline-start:2.15rem;width:1px;height:4.6rem;background:linear-gradient(#44cab5,#9bc4cf)}
.ecosystem-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;margin:0;padding:0;list-style:none}
.ecosystem-branch{position:relative}
.ecosystem-branch details{height:100%;overflow:hidden;border:1px solid #dbe5ee;border-radius:1.35rem;background:#fff;box-shadow:0 .8rem 2.4rem rgba(16,45,73,.055)}
.ecosystem-branch summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;min-height:4.2rem;padding:.9rem 1rem;cursor:pointer;list-style:none;background:#f8fbfd;color:#12324b}
.ecosystem-branch summary::-webkit-details-marker{display:none}
.ecosystem-branch summary:focus-visible{outline:.2rem solid #2e99bd;outline-offset:-.2rem}
.ecosystem-branch summary small{display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;background:#e7f4f6;color:#117487;font-weight:800}
.ecosystem-branch__dot{width:.8rem;height:.8rem;border:.22rem solid #c7f5ec;border-radius:50%;background:#179f91;box-shadow:0 0 0 .2rem #edfafa}
.ecosystem-branch details>ul{display:grid;gap:.65rem;margin:0;padding:1rem;list-style:none}
.ecosystem-service{display:grid;gap:.5rem}
.ecosystem-node{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;min-height:5rem;padding:.8rem;border:1px solid #e8eef3;border-radius:1rem;color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.ecosystem-node:hover{transform:translateY(-2px);border-color:#9acddd;box-shadow:0 .75rem 1.8rem rgba(15,82,106,.08)}
.ecosystem-node:focus-visible{outline:.2rem solid #2588ad;outline-offset:.15rem}
.ecosystem-node__icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.8rem;background:linear-gradient(145deg,#102e50,#176f7d);color:#fff;font-size:.64rem;font-weight:900;letter-spacing:-.03em}
.ecosystem-node__copy{display:grid;min-width:0}
.ecosystem-node__copy strong{font-size:.92rem}
.ecosystem-node__copy small{overflow:hidden;color:#718393;font-size:.72rem;line-height:1.65;text-overflow:ellipsis;white-space:nowrap}
.ecosystem-node__action{display:grid;justify-items:end;gap:.35rem}
.ecosystem-node__action b{color:#157c96;font-size:.72rem;white-space:nowrap}
.ecosystem-status{padding:.25rem .5rem;border-radius:999px;font-size:.62rem;font-style:normal;font-weight:800;white-space:nowrap}
.ecosystem-status--active{background:#e6f8f1;color:#13775b}
.ecosystem-status--beta{background:#fff3d6;color:#8c6200}
.ecosystem-status--coming-soon{background:#eef0f5;color:#667185}
.ecosystem-status--building{background:#e8efff;color:#405f9c}
.ecosystem-children{margin-inline-start:3.7rem;padding:.15rem 0 .3rem .75rem;border-inline-start:1px dashed #b9d5dc}
[dir="rtl"] .ecosystem-children{padding:.15rem .75rem .3rem 0}
.ecosystem-children>span{display:block;margin-bottom:.35rem;color:#78909e;font-size:.62rem;font-weight:800}
.ecosystem-children ul{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}
.ecosystem-children li{position:relative}
.ecosystem-children li:before{position:absolute;inset-block-start:50%;inset-inline-start:-.78rem;width:.7rem;border-block-start:1px dashed #b9d5dc;content:""}
.ecosystem-children a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:.7rem;background:#f5f9fb;color:#24465f;text-decoration:none}
.ecosystem-children a:hover{background:#eaf5f7;color:#0c687e}
.ecosystem-children a:focus-visible{outline:.18rem solid #2588ad;outline-offset:.1rem}
.ecosystem-children a>span{display:grid}
.ecosystem-children a strong{font-size:.72rem}
.ecosystem-children a small{color:#718694;font-size:.64rem}
.ecosystem-children a>b{color:#158298}
.ecosystem-empty{display:grid;place-items:center;gap:.65rem;min-height:16rem;border:1px dashed #b7ccd8;border-radius:1.3rem;background:#fff;color:#6e8290;text-align:center}
.ecosystem-empty>span{font-size:3.2rem;color:#2694a6}
.ecosystem-empty p{margin:0}
[hidden]{display:none!important}
.ecosystem-map-footer{background:#071a2f}
@media(max-width:60rem){.ecosystem-language-links--desktop{display:none}.portal-nav__mobile-actions.ecosystem-language-links{display:flex;flex-wrap:wrap}.ecosystem-hero{padding-top:5rem}.ecosystem-hero__grid{grid-template-columns:1fr;gap:2.5rem}.ecosystem-root-card{max-width:36rem}.ecosystem-branches{grid-template-columns:1fr}}
@media(max-width:48rem){.ecosystem-hero{padding-block:4rem 3.5rem}.ecosystem-hero h1{font-size:clamp(2.8rem,15vw,4.6rem)}.ecosystem-hero__metrics{gap:1.2rem}.ecosystem-root-card{grid-template-columns:1fr;text-align:center}.ecosystem-root-card__mark{margin-inline:auto}.ecosystem-tree{padding-block:2.5rem 4rem}.ecosystem-toolbar{padding:.85rem}.ecosystem-search{grid-template-columns:1fr;gap:.45rem}.ecosystem-toolbar__actions{align-items:stretch;flex-wrap:wrap}.ecosystem-toolbar__actions output{width:100%;margin:0}.ecosystem-trunk{display:none}.ecosystem-node{grid-template-columns:auto minmax(0,1fr)}.ecosystem-node__action{grid-column:2;grid-row:2;justify-items:start}.ecosystem-node__copy small{white-space:normal}.ecosystem-children{margin-inline-start:1.35rem}.ecosystem-branch summary{position:sticky;top:0}.ecosystem-map-footer .portal-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:32rem){.ecosystem-map-footer .portal-footer__grid{grid-template-columns:1fr}.ecosystem-hero__metrics{display:grid;grid-template-columns:1fr 1fr}.ecosystem-root-card{padding:1.1rem}.ecosystem-branch details>ul{padding:.65rem}.ecosystem-node{padding:.7rem}}
@media(prefers-reduced-motion:reduce){.ecosystem-node{transition:none}.ecosystem-node:hover{transform:none}}
