/* Apple Intelligence Style Glow Overlay */
.glow-overlay {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.5s ease;
    overflow: hidden;
    /* Use a mask to only reveal the edges */
    mask-image: radial-gradient(ellipse at center, transparent 65%, black 100%);
    -webkit-mask-image: radial-gradient(ellipse at center, transparent 65%, black 100%);
}

.glow-overlay.active {
    opacity: 1;
}

/* The Moving Gradient Background */
.glow-overlay::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(transparent,
            #ff00ff,
            #00f2ff,
            #2bff00,
            #ff00ff,
            transparent);
    animation: aura-spin 4s linear infinite;
    filter: blur(40px);
    /* Soften the edges */
    opacity: 0.8;
}

/* Second layer for depth */
.glow-overlay::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 40px 10px rgba(125, 95, 255, 0.4);
}

@keyframes aura-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Landscape Mode Adaptation Fix */
/* Landscape Mode Adaptation V2 (Safer Zoom) */
@media screen and (orientation: landscape) and (max-height: 500px) {

    /* Use zoom instead of transform:scale to prevent layout dislocation/white screen */
    html {
        zoom: 0.7;
        overflow: hidden;
        height: 100%;
        width: 100%;
    }

    body {
        height: 100%;
        width: 100%;
        position: fixed;
        /* Lock scroll */
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .container {
        max-width: none !important;
        width: 100vw !important;
        padding-top: 0 !important;
    }

    /* Compact adjustments */
    .header {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .logo {
        font-size: 2.5rem;
    }

    .shuffle-card {
        padding: 1.5rem;
        max-width: 500px;
    }

    .shuffle-icon {
        font-size: 3.5rem;
        margin-bottom: 0.5rem;
    }

    .shuffle-text {
        font-size: 1.5rem;
    }

    .footer {
        display: none;
    }

    /* Button positioning adjustments for zoom */
    .floating-btn {
        top: 20px !important;
        transform: scale(1.2);
        /* Counteract zoom slightly for touch targets */
    }

    .btn-list {
        left: 30px !important;
    }

    .btn-fullscreen {
        right: 30px !important;
    }
}