/* ANNOTATION LABELS (Stage 1) */
.anno-label {
    position: absolute;
    /* Move label further up to clear box border */
    top: -16px; 
    left: -1px;
    background: #00FFCC;
    color: #000;
    font-family: 'Space Mono', monospace;
    font-size: 9px; /* Increased from 8px for readability */
    font-weight: 800; /* Extra bold */
    padding: 2px 6px; /* More breathing room */
    white-space: nowrap;
    opacity: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5); /* Drop shadow for contrast against sky */
    animation: labelReveal 0.3s forwards;
    z-index: 10;
}

/* Alternate label position for crowded lower elements */
.box-in-4 .anno-label {
    top: auto;
    bottom: -16px;
}

/* Staggered Label Reveal */
.box-1 .anno-label { animation-delay: 0.2s; }
.box-2 .anno-label { animation-delay: 0.4s; }
.box-3 .anno-label { animation-delay: 0.6s; }

@keyframes labelReveal { 
    from { opacity: 0; transform: translateY(5px); } 
    to { opacity: 1; transform: translateY(0); } 
}

/* Ensure boxes in Stage 1 are purely cyan (no red override) */
.layer-1 .insulatorbox {
    border-color: #00FFCC;
    box-shadow: 0 0 5px rgba(0,255,204,0.3);
}
