[data-neo-global--ai-generating]:has(>[data-neo-global--ai-generation-effect]) {
    isolation: isolate; border-radius: var(--neo-global--ai-generation-border-radius, 4px); box-shadow: 0 0 0 1px #a900ff, 0 0 16px rgba(169, 0, 255, 0.35); animation: neo-global--ai-field-pulse 1.2s ease-in-out infinite;
    >[data-neo-global--ai-generation-effect] {
        position: absolute; inset: 0; z-index: 3; border-radius: inherit; overflow: hidden; pointer-events: none;
        &::before { position: absolute; inset: 0; content: ""; background: linear-gradient(105deg, transparent 20%, rgba(169, 0, 255, 0.18) 45%, rgba(0, 255, 128, 0.2) 55%, transparent 80%); transform: translateX(-120%); animation: neo-global--ai-field-shimmer 1.1s linear infinite; }
    }
}

button[data-neo-global--ai-generating] {
    position: relative;
    img { opacity: 0 !important; }
    &::after { position: absolute; left: 50%; top: 50%; width: 1em; height: 1em; box-sizing: border-box; content: ""; border: 2px solid #C0C0C0; border-top-color: #00ff00; border-radius: 50%; animation: neo-global--ai-spinner 1s linear infinite; }
}

@keyframes neo-global--ai-field-shimmer { to { transform: translateX(120%); } }
@keyframes neo-global--ai-field-pulse { 50% { box-shadow: 0 0 0 1px #00a968, 0 0 22px rgba(0, 169, 104, 0.4); } }
@keyframes neo-global--ai-spinner { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } }
