/* CSS/star6.css */
/* ==================================================
   STAR 6: THE RESILIENT HEART FINALE
   ================================================== */

.star-node#star-5 { z-index: 20; }

.s6-halo {
    position: absolute; top: 50%; left: 50%;
    width: 48px; height: 48px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: s6-spin 15s linear infinite;
    opacity: 0; transition: opacity 0.5s ease;
    pointer-events: none;
}

.s6-halo::before {
    content: ''; position: absolute;
    top: -2px; left: 50%;
    width: 4px; height: 4px;
    background: #fff; border-radius: 50%;
    transform: translateX(-50%); box-shadow: 0 0 8px #fff;
}

.star-node#star-5.active .s6-halo { opacity: 1; }

.s6-hint {
    position: absolute; bottom: -30px;
    width: max-content; font-family: 'Spectral', serif;
    font-size: 0.75rem; letter-spacing: 0.3em;
    text-transform: uppercase; color: rgba(255, 255, 255, 0.6);
    opacity: 0; font-weight: 300;
    transition: opacity 0.4s ease; pointer-events: none;
}

.star-node#star-5.active .s6-hint { opacity: 0.8; }

.star-node#star-5.active:hover .star-core,
.star-node#star-5.active:focus-visible .star-core {
    transform: scale(1.4);
    box-shadow: 0 0 30px 8px rgba(200, 220, 255, 0.8), 0 0 60px 15px rgba(255, 255, 255, 0.6);
}

@keyframes s6-spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Fades out native DOM elements */
.scene.s6-takeover #sky-canvas {
    opacity: 0; transition: opacity 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
    pointer-events: none;
}

#content-scene-s6 {
    position: absolute; inset: 0;
    z-index: 40; pointer-events: none;
    opacity: 0; transition: opacity 0.3s ease;
}

#content-scene-s6.active {
    opacity: 1; pointer-events: auto;
}

#s6-canvas {
    display: block; width: 100%; height: 100%;
    /* Hardware acceleration without heavy filter rendering */
    transform: translateZ(0); 
    will-change: transform;
}

#s6-finale-ui {
    position: absolute; bottom: 12%; width: 100%;
    display: flex; justify-content: center;
    pointer-events: none; z-index: 45;
}

/* Beautiful, cinematic, hardware-accelerated text reveal */
.s6-poetic-line {
    font-family: 'Spectral', 'Georgia', serif;
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    font-style: italic; font-weight: 300;
    color: rgba(240, 245, 255, 0.95); 
    line-height: 1.8; text-align: center; max-width: 85%;
    
    opacity: 0; filter: blur(15px);
    transform: translateY(20px) scale(0.98);
    
    transition: opacity 4s cubic-bezier(0.2, 0.8, 0.2, 1), 
                filter 4s cubic-bezier(0.2, 0.8, 0.2, 1),
                transform 4s cubic-bezier(0.2, 0.8, 0.2, 1);
                
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.8), 0 0 25px rgba(200, 220, 255, 0.3);
}

.s6-poetic-line.visible {
    opacity: 1; filter: blur(0px);
    transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
    .s6-halo { animation: none; }
    .s6-poetic-line { transition: opacity 3s ease; transform: none; filter: none; }
}