/* Portal container */
.portal-container {
    position: fixed;
    left: 0;
    top: 650px;
    width: 400px;
    height: 500px;
    pointer-events: none;
    z-index: 2;
}

/* Portal base */
.portal {
    position: absolute;
    left: -50px;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url('../images/portal-frame.png') no-repeat bottom left;
    background-size: contain;
}

/* Portal glow effect */
.portal-glow {
    position: absolute;
    left: 70px;
    top: 0;
    width: 200px;
    height: 300px;
    border-radius: 50% 50% 0 0;
    background: radial-gradient(ellipse at center, 
        rgba(0, 255, 100, 0.2) 0%,
        rgba(0, 255, 100, 0.1) 50%,
        rgba(0, 255, 100, 0) 70%
    );
    filter: blur(5px);
}

/* Portal mist */
.portal-mist {
    position: absolute;
    left: 70px;
    top: 0;
    width: 200px;
    height: 300px;
    background: linear-gradient(to top,
        rgba(0, 255, 100, 0.1),
        rgba(0, 255, 100, 0)
    );
    filter: blur(8px);
}

/* Portal runes */
.portal-runes {
    position: absolute;
    left: 70px;
    top: 0;
    width: 200px;
    height: 300px;
}

.rune {
    position: absolute;
    color: rgba(0, 255, 100, 0.8);
    font-family: 'Arial', sans-serif;
    font-size: 20px;
    text-shadow: 0 0 5px rgba(0, 255, 100, 0.5);
    animation: runeFloat 3s ease-in-out infinite;
    opacity: 0;
}

@keyframes runeFloat {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}
