.startTutorialOverlay {
    position: fixed;
    inset: 0;
    z-index: 32000;
    pointer-events: none;
}

.startTutorialOverlay[hidden] { display: none; }

.startTutorialMask {
    position: fixed;
    /* Les 4 zones servent uniquement de barrières de clic. Le voile visuel
       est porté par l'ombre géante du ring afin que le trou soit arrondi et
       suive exactement le cercle/pill mis en avant, sans rectangle clair. */
    background: transparent;
    pointer-events: auto;
    touch-action: none;
}

.startTutorialRing {
    position: fixed;
    z-index: 1;
    border: 3px solid rgba(255, 255, 255, .98);
    border-radius: 999px;
    background: transparent;
    box-shadow:
        0 0 0 9999px rgba(2, 10, 22, .58),
        0 0 0 2px rgba(73, 200, 255, .18),
        0 0 18px rgba(255, 255, 255, .78);
    pointer-events: none;
    transform-origin: center;
    animation: startTutorialBounce 1.05s ease-in-out infinite;
}

.startTutorialOverlay[data-step="team-add"] .startTutorialRing {
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

@keyframes startTutorialBounce {
    0%, 100% { transform: scale(1); opacity: .88; }
    50% { transform: scale(1.10); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .startTutorialRing { animation: none; }
}
