/**
 * Animations & Expensive CSS Effects
 *
 * Bu dosya performans açısından pahalı efektleri içerir:
 * - backdrop-filter
 * - 3D transforms
 * - Complex animations
 *
 * Bu dosya LCP'den SONRA yüklenir (lazy load)
 */

/* ============================================
   FLIP WORD ANIMATION (Header)
   ============================================ */

.header h1 a {
    perspective: 1000px;
    display: inline-block;
}

.flip-word {
    position: relative;
    display: inline-block;
    padding: 0;
    transition: transform 0.3s;
    transform-origin: 50% 0;
    transform-style: preserve-3d;
}

.flip-word::before {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    content: attr(data-hover);
    transition: color 0.3s, opacity 0.3s;
    transform: rotateX(-90deg);
    transform-origin: 50% 0;
    text-align: center;
    color: #1e3a8a;
    font-weight: 600;
    opacity: 0;
}

.header h1 a:hover .flip-word,
.header h1 a:focus .flip-word {
    transform: rotateX(90deg) translateY(-22px);
}

.header h1 a:hover .flip-word::before,
.header h1 a:focus .flip-word::before {
    color: #1976d2;
    opacity: 1;
}

/* ============================================
   SPINNING ANIMATIONS
   ============================================ */

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.spinner {
    animation: spin 1s linear infinite;
}

.generate-grid button i.spinning {
    animation: spin 1s linear infinite;
}

/* ============================================
   MOVE STRIPE ANIMATION (Drag & Drop)
   ============================================ */

@keyframes moveStripe {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 0 10px;
    }
}

.drag-column-highlight::before,
.drag-column-highlight::after {
    animation: moveStripe 1s linear infinite;
}

/* ============================================
   MODAL SLIDE IN
   ============================================ */

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.modal-content {
    animation: modalSlideIn 0.3s ease-out;
}

/* ============================================
   TRANSFORM EFFECTS
   ============================================ */

/* Button hover transforms */
.floating-settings-btn:hover {
    transform: scale(1.05);
}

.ikon-kare-buton:active {
    transform: scale(0.98);
}

.hafta-grid-actions .hafta-btn:active {
    transform: scale(0.97);
}

.sidebar-menu li a:hover {
    transform: translateX(5px);
}

.btn-primary:hover:not(:disabled) {
    transform: translateY(-1px);
}

.btn-danger:hover {
    transform: translateY(-1px);
}

.plan-tags:hover {
    transform: scale(1.02);
}

/* ============================================
   WILL-CHANGE HINTS (Performance)
   ============================================ */

.flip-word {
    will-change: transform;
}

.floating-settings-btn {
    will-change: transform;
}

.drag-column-highlight {
    will-change: background, box-shadow;
}

.modal-content {
    will-change: transform, opacity;
}

/* ============================================
   GPU ACCELERATION
   ============================================ */

.flip-word,
.floating-settings-btn,
.modal-content,
.sidebar-content-wrapper {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}