
/* Minimal phase-space-hole entrance */

body[data-page="home"] .home-screen {
    position: relative;
    isolation: isolate;
}

body[data-page="home"] .home-flow {
    position: absolute;
    inset: -8% -5%;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.home-flow svg {
    display: block;
    width: 100%;
    height: 100%;
}

.home-flow-orbit {
    fill: none;
    stroke: #71334b;
    stroke-width: 1.2;
    stroke-linecap: round;
    opacity: 0.24;

    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;

    animation: phase-trace var(--duration, 1000ms)
        cubic-bezier(0.42, 0, 0.58, 1) forwards;
}

.home-flow-orbit.passing {
    stroke-width: 1;
    opacity: 0.16;
}

.home-flow-orbit.trapped {
    stroke-width: 1.3;
    opacity: 0.28;
}

@keyframes phase-trace {
    from {
        stroke-dashoffset: 1000;
    }
    to {
        stroke-dashoffset: 0;
    }
}

.home-flow-marker {
    fill: #71334b;
    opacity: 0.65;
}

@media (prefers-reduced-motion: reduce) {
    .home-flow-orbit {
        animation: none;
        stroke-dashoffset: 0;
    }

    .home-flow-marker {
        display: none;
    }
}
