/* Interactive Home - Navigation State */

.nogh-menu-nodes {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 6;
    pointer-events: none;
    opacity: 0;
}

.nogh-node {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    pointer-events: auto;
    z-index: 7;
    transform: translate(-50%, -50%);
    will-change: transform;
}

.nogh-node__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #000000;
    position: relative;
    z-index: 2;
    transition: transform 0.25s ease;
}

.nogh-node__pulse {
    position: absolute;
    width: var(--nogh-node-size, 6px);
    height: var(--nogh-node-size, 6px);
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.2);
    animation: nogh-node-pulse 2s ease-out infinite;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center center;
}

/* Node Pulse Styles */
.nogh-node-pulse--breathing .nogh-node__pulse {
    animation-name: nogh-node-pulse-breathing;
}
@keyframes nogh-node-pulse-breathing {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
    50% { transform: translate(-50%, -50%) scale(1.8); opacity: 0.15; }
}

.nogh-node-pulse--glow .nogh-node__pulse {
    animation-name: nogh-node-pulse-glow;
    border: none;
}
@keyframes nogh-node-pulse-glow {
    0% {
        transform: translate(-50%, -50%) scale(1);
        box-shadow: 0 0 3px 1px var(--nogh-node-color, rgba(0, 0, 0, 0.3));
        opacity: 0.6;
    }
    100% {
        transform: translate(-50%, -50%) scale(3);
        box-shadow: 0 0 8px 4px var(--nogh-node-color, rgba(0, 0, 0, 0));
        opacity: 0;
    }
}

.nogh-node-pulse--heartbeat .nogh-node__pulse {
    animation-name: nogh-node-pulse-heartbeat;
}
@keyframes nogh-node-pulse-heartbeat {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
    14% { transform: translate(-50%, -50%) scale(1.4); opacity: 0.35; }
    28% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
    42% { transform: translate(-50%, -50%) scale(1.4); opacity: 0.35; }
    70% { transform: translate(-50%, -50%) scale(3); opacity: 0; }
    100% { transform: translate(-50%, -50%) scale(3); opacity: 0; }
}

.nogh-node-pulse--ring .nogh-node__pulse {
    animation-name: nogh-node-pulse-ring;
    border-width: 2px;
}
@keyframes nogh-node-pulse-ring {
    0% { transform: translate(-50%, -50%) scale(0.5); opacity: 0.8; border-width: 2px; }
    100% { transform: translate(-50%, -50%) scale(3); opacity: 0; border-width: 1px; }
}

@keyframes nogh-node-pulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.5;
    }
    100% {
        transform: translate(-50%, -50%) scale(3);
        opacity: 0;
    }
}

.nogh-node__tooltip {
    position: absolute;
    bottom: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%) translateY(5px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    white-space: nowrap;
    z-index: 100;
    background-color: #000;
    color: #fff;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 13px;
    font-family: 'IRANSans', 'Tahoma', sans-serif;
    transition: none;
}
