.ecosystem-page{padding:var(--spacing-medium) var(--spacing-large) var(--spacing-large)}.network-masthead{max-width:1440px;margin:0 auto var(--spacing-small);justify-content:space-between;align-items:center;gap:var(--spacing-medium);display:flex}.network-masthead .network-heading{gap:var(--spacing-xs);margin:0}.network-heading h1{font-size:var(--font-size-heading-xl)}.network-heading p{font-size:14px}.ecosystem-controls{gap:var(--spacing-medium);flex-wrap:wrap;align-items:center;display:flex}.network-layout{width:100%;min-width:0}.map-frame{min-width:0}.map-viewport{touch-action:pan-y;background:var(--color-surface-0);width:100%;overflow:hidden}.map-world{isolation:isolate;transform-origin:0 0;visibility:hidden;position:relative}.audience-region{border-radius:var(--radius-panel);background:color-mix(in srgb, var(--audience-accent) 13%, var(--color-surface-0));padding:12px 16px;position:absolute}.audience-region h3{letter-spacing:-.02em;align-items:center;gap:8px;width:max-content;max-width:100%;font-size:16px;line-height:24px;display:flex}.dot{border-radius:var(--radius-pill);background:var(--audience-accent,var(--color-brand-fill));flex-shrink:0;width:7px;height:7px;display:inline-block}.network-edges{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.edge{fill:none;stroke:var(--color-content-secondary);stroke-width:1.4px;opacity:.5;stroke-linecap:round;stroke-linejoin:round}.edge.is-direct{stroke:var(--color-brand-primary);stroke-width:1.9px;opacity:1}.network-node{z-index:2;border-radius:var(--radius-row);background:var(--color-surface-0);color:var(--color-content-full);text-align:left;--context-glow:var(--audience-accent);align-items:center;gap:8px;padding:6px 12px;font-size:14px;font-weight:550;line-height:1.25;display:flex;position:absolute}.node-copy{min-width:0}.network-node.is-selected{background:var(--color-brand-fill);color:var(--color-content-on-brand);--context-glow:var(--color-brand-fill);font-weight:680}.network-node.is-selected .dot{background:var(--color-content-on-brand)}.network-node[data-context=origin]{box-shadow:0 0 18px 2px color-mix(in srgb, var(--context-glow) 34%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--context-glow) 78%, transparent)}.network-node[data-context=direct]{box-shadow:0 0 14px 1px color-mix(in srgb, var(--context-glow) 27%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--context-glow) 50%, transparent)}.network-node[data-context=related]{box-shadow:0 0 9px color-mix(in srgb, var(--context-glow) 13%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--context-glow) 22%, transparent)}.map-world.has-trace .edge:not(.is-traced){opacity:.1}.map-world[data-arrangement=semantic-overview] .audience-region{padding:var(--spacing-medium);background:color-mix(in srgb, var(--audience-accent) 5%, var(--color-surface-0))}.map-world[data-arrangement=semantic-overview] .audience-region h3{font-size:var(--font-size-heading-md)}.map-world[data-arrangement=semantic-overview] .network-node{padding:var(--spacing-xs) var(--spacing-small);font-size:var(--overview-label-size,14px);border-radius:var(--radius-tight);box-shadow:none;background:0 0;font-weight:450}.map-world[data-arrangement=semantic-overview] .network-node .dot{background:color-mix(in srgb, var(--audience-accent) 55%, var(--color-surface-0))}.ecosystem-group-label{z-index:2;padding-inline:var(--spacing-small);color:var(--color-content-secondary);pointer-events:none;margin:0;font-size:14px;font-weight:600;line-height:1.3;position:absolute}.map-world.is-overview .edge{opacity:0}.map-world.is-overview.has-trace .edge.is-traced{opacity:1}.map-world.is-overview.has-trace .network-node[data-context=origin]{background:var(--color-brand-fill);color:var(--color-content-on-brand);box-shadow:0 0 18px color-mix(in srgb, var(--color-brand-primary) 20%, transparent);font-weight:650}.map-world.is-overview .network-node[data-context=direct]{background:color-mix(in srgb, var(--audience-accent) 13%, var(--color-surface-0));box-shadow:0 0 14px color-mix(in srgb, var(--audience-accent) 20%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--audience-accent) 45%, transparent)}.map-caption{max-width:1440px;padding-block:var(--spacing-small);color:var(--color-content-secondary);margin:auto;font-size:14px;line-height:1.5}.map-legend{gap:var(--spacing-large);display:flex}.map-legend span{align-items:center;gap:var(--spacing-small);display:inline-flex}.map-legend i{background:var(--color-brand-primary);width:24px;height:2px}.map-legend .related{background:var(--color-content-secondary);height:1px}.relationships{padding-top:var(--spacing-large)}.relationships h2{font-size:var(--font-size-heading-md)}.relationships ul{padding-left:var(--spacing-large)}.relationships li{margin-top:var(--spacing-medium)}.relationships a{color:var(--color-brand-primary);align-items:center;min-height:44px;display:inline-flex}.ecosystem-page[data-view=list] .feature-list{padding-top:var(--spacing-large);max-width:1440px;margin:auto}@media (max-width:1350px){.ecosystem-page{padding-inline:var(--spacing-medium)}.network-heading h1{font-size:var(--font-size-heading-lg)}}@media (max-width:1100px){.network-masthead{flex-wrap:wrap}}@media (max-width:650px){.network-masthead{flex-direction:column;align-items:start}.ecosystem-controls{gap:var(--spacing-small)}.ecosystem-controls .button{padding-inline:var(--spacing-medium);font-size:14px}}
