body {
    position: relative;
    isolation: isolate;
}

.eco-ambient {
    position: fixed;
    z-index: -1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    color: #69756e;
    opacity: 0.38;
}

.eco-ambient-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.eco-icon {
    position: absolute;
    top: var(--y);
    left: var(--x);
    display: block;
    width: var(--size);
    height: var(--size);
    transform: translate(-50%, -50%);
    will-change: transform;
}

.eco-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {
    .eco-icon {
        will-change: auto;
    }
}

body.dark-mode .eco-ambient {
    color: #b4bdb7;
    opacity: 0.32;
}

@media (max-width: 600px) {
    .eco-icon:nth-of-type(3n) {
        display: none;
    }
}
