/*
 * PvP sunucu kartı efektleri (saf CSS, dış dosya yok).
 * Kullanım: öğeye class="lunora-pvp-fx" data-effect="flame|ice|electric|gold|poison|neon|rainbow".
 * data-effect boşsa hiçbir efekt uygulanmaz.
 */
@property --pvp-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }

.lunora-pvp-fx {
    --fx-a: #ff9a1f; --fx-b: #ff3d00; --fx-c: #ffd23f; --fx-glow: rgba(255, 106, 0, .55);
    --fx-inset: 0 -30px 44px -26px rgba(255, 90, 0, .55);
    --fx-spin: 3.2s; --fx-pulse: 1.7s;
}
.lunora-pvp-fx[data-effect]:not([data-effect=""]) {
    position: relative;
    box-shadow: 0 0 18px var(--fx-glow), inset var(--fx-inset);
    animation: lunoraPvpGlow var(--fx-pulse) ease-in-out infinite alternate;
}
.lunora-pvp-fx[data-effect]:not([data-effect=""])::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    padding: 2px;
    border-radius: inherit;
    pointer-events: none;
    background: conic-gradient(from var(--pvp-angle), var(--fx-a), var(--fx-b), var(--fx-c), var(--fx-b), var(--fx-a));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    animation: lunoraPvpSpin var(--fx-spin) linear infinite;
}

/* Alev: sıcak turuncu-kırmızı, alttan ısı, hızlı titreyen ışıma */
.lunora-pvp-fx[data-effect="flame"] { --fx-a: #ffb300; --fx-b: #ff3d00; --fx-c: #ffe066; --fx-glow: rgba(255, 90, 0, .6); --fx-inset: 0 -34px 46px -24px rgba(255, 70, 0, .6); --fx-spin: 2.6s; --fx-pulse: 1.1s; }
/* Buz: turkuaz-beyaz, üstten kırağı gibi soluk ışık, yavaş nefes */
.lunora-pvp-fx[data-effect="ice"] { --fx-a: #8be9ff; --fx-b: #3b8cff; --fx-c: #ffffff; --fx-glow: rgba(110, 200, 255, .5); --fx-inset: 0 30px 44px -26px rgba(190, 240, 255, .55); --fx-spin: 5s; --fx-pulse: 2.8s; }
/* Elektrik: sarı-mor, çok hızlı çakma */
.lunora-pvp-fx[data-effect="electric"] { --fx-a: #ffe600; --fx-b: #7c3aed; --fx-c: #ffffff; --fx-glow: rgba(250, 220, 40, .55); --fx-inset: 0 0 40px -18px rgba(167, 139, 250, .6); --fx-spin: 1.5s; --fx-pulse: .55s; }
/* Altın: parlak altın şeridi */
.lunora-pvp-fx[data-effect="gold"] { --fx-a: #f7c948; --fx-b: #b8860b; --fx-c: #fff3b0; --fx-glow: rgba(247, 201, 72, .45); --fx-inset: 0 0 38px -20px rgba(247, 201, 72, .5); --fx-spin: 4s; --fx-pulse: 2.4s; }
/* Zehir: yeşil, yavaş ve tekinsiz */
.lunora-pvp-fx[data-effect="poison"] { --fx-a: #7dff4f; --fx-b: #0f9d58; --fx-c: #d9ff7a; --fx-glow: rgba(90, 230, 70, .45); --fx-inset: 0 -26px 44px -26px rgba(60, 200, 60, .5); --fx-spin: 4.4s; --fx-pulse: 2.2s; }
/* Neon: mor-pembe-cyan */
.lunora-pvp-fx[data-effect="neon"] { --fx-a: #ff2bd6; --fx-b: #00e5ff; --fx-c: #8a2bff; --fx-glow: rgba(255, 43, 214, .5); --fx-inset: 0 0 42px -20px rgba(0, 229, 255, .5); --fx-spin: 2.8s; --fx-pulse: 1.6s; }
/* Gökkuşağı: renk de döner */
.lunora-pvp-fx[data-effect="rainbow"] { --fx-a: #ff3b3b; --fx-b: #3bff8a; --fx-c: #3b8bff; --fx-glow: rgba(255, 255, 255, .35); --fx-inset: 0 0 40px -22px rgba(255, 255, 255, .45); --fx-spin: 3s; --fx-pulse: 2s; }
.lunora-pvp-fx[data-effect="rainbow"]::after { animation: lunoraPvpSpin var(--fx-spin) linear infinite, lunoraPvpHue 6s linear infinite; }

@keyframes lunoraPvpSpin { to { --pvp-angle: 360deg; } }
@keyframes lunoraPvpHue { to { filter: hue-rotate(360deg); } }
@keyframes lunoraPvpGlow {
    from { box-shadow: 0 0 8px var(--fx-glow), inset var(--fx-inset); }
    to { box-shadow: 0 0 28px var(--fx-glow), inset var(--fx-inset); }
}

@media (prefers-reduced-motion: reduce) {
    .lunora-pvp-fx[data-effect]:not([data-effect=""]),
    .lunora-pvp-fx[data-effect]:not([data-effect=""])::after { animation: none; }
}

/* Admin önizleme kutusu */
.lunora-pvp-fx-preview { height: 74px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; background: linear-gradient(135deg, #12151d, #3a2113); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; letter-spacing: .02em; }
