/* Kosmetik bergaya Minecraft: bingkai dari tekstur blok asli, efek dari ikon item asli. Dibuat oleh generator; jangan edit manual. */
@keyframes fx-rise2 { to { background-position: 0 calc(var(--t) * -1), 11px calc(var(--t) * -1.37); } }
@keyframes fx-fall2 { from { background-position: 0 0, 11px 0; } to { background-position: 0 var(--t), 11px calc(var(--t) * 1.37); } }
@keyframes fr-shine { from { transform: translateX(-120%) rotate(0); } to { transform: translateX(120%) rotate(0); } }
@keyframes fr-flow { to { background-position: calc(var(--s) * .15) 0; } }
@keyframes fr-pulse { 0%,100% { filter: brightness(.85); } 50% { filter: brightness(1.35); } }
@keyframes fr-glint { from { background-position: 0 0, 0 0; } to { background-position: 0 0, calc(var(--s) * .6) calc(var(--s) * .6); } }
.fx-xp { --t: 72px; background-image: url(fx/xp.png), url(fx/xp.png); background-size: 72px 72px, 100px 100px; background-repeat: repeat; image-rendering: pixelated; animation: fx-rise2 7s linear infinite; }
.fx-percik { --t: 64px; background-image: url(fx/percik.png), url(fx/percik.png); background-size: 64px 64px, 89px 89px; background-repeat: repeat; image-rendering: pixelated; animation: fx-rise2 5s linear infinite; }
.fx-apel { --t: 76px; background-image: url(fx/apel.png), url(fx/apel.png); background-size: 76px 76px, 106px 106px; background-repeat: repeat; image-rendering: pixelated; animation: fx-rise2 8s linear infinite; }
.fx-salju { --t: 64px; background-image: url(fx/salju.png), url(fx/salju.png); background-size: 64px 64px, 89px 89px; background-repeat: repeat; image-rendering: pixelated; animation: fx-fall2 6s linear infinite; }
.fx-redstone { --t: 60px; background-image: url(fx/redstone.png), url(fx/redstone.png); background-size: 60px 60px, 84px 84px; background-repeat: repeat; image-rendering: pixelated; animation: fx-rise2 5s linear infinite; }
.fx-lapis { --t: 68px; background-image: url(fx/lapis.png), url(fx/lapis.png); background-size: 68px 68px, 95px 95px; background-repeat: repeat; image-rendering: pixelated; animation: fx-fall2 6s linear infinite; }
.fx-bara { --t: 60px; background-image: url(fx/bara.png), url(fx/bara.png); background-size: 60px 60px, 84px 84px; background-repeat: repeat; image-rendering: pixelated; animation: fx-rise2 4s linear infinite; }
.fx-slime { --t: 72px; background-image: url(fx/slime.png), url(fx/slime.png); background-size: 72px 72px, 100px 100px; background-repeat: repeat; image-rendering: pixelated; animation: fx-fall2 7s linear infinite; }
.fx-amethyst { --t: 68px; background-image: url(fx/amethyst.png), url(fx/amethyst.png); background-size: 68px 68px, 95px 95px; background-repeat: repeat; image-rendering: pixelated; animation: fx-rise2 6s linear infinite; }
.fx-bintang { --t: 64px; background-image: url(fx/bintang.png), url(fx/bintang.png); background-size: 64px 64px, 89px 89px; background-repeat: repeat; image-rendering: pixelated; animation: fx-twinkle 3s ease-in-out infinite; }
.fx-ender { --t: 76px; background-image: url(fx/ender.png), url(fx/ender.png); background-size: 76px 76px, 106px 106px; background-repeat: repeat; image-rendering: pixelated; animation: fx-rise2 7s linear infinite; }
.fx-aurora { --t: 68px; background-image: url(fx/aurora.png), url(fx/aurora.png); background-size: 68px 68px, 95px 95px; background-repeat: repeat; image-rendering: pixelated; animation: fx-fall2 6s linear infinite; }
.fx-totem { --t: 84px; background-image: url(fx/totem.png), url(fx/totem.png); background-size: 84px 84px, 117px 117px; background-repeat: repeat; image-rendering: pixelated; animation: fx-rise2 9s linear infinite; }
.fx-p_zamrud { --t: 52px; background-image: url(fx/p_zamrud.png), url(fx/p_zamrud.png); background-size: 52px 52px, 72px 72px; background-repeat: repeat; image-rendering: pixelated; animation: fx-fall2 3.6s linear infinite; }
.fx-p_kunang { --t: 56px; background-image: url(fx/p_kunang.png), url(fx/p_kunang.png); background-size: 56px 56px, 78px 78px; background-repeat: repeat; image-rendering: pixelated; animation: fx-twinkle 2.6s ease-in-out infinite; }
.cva-fr { background: var(--tx) 0 0 / calc(var(--s, 64px) * .15) calc(var(--s, 64px) * .15) !important; image-rendering: pixelated; border-radius: 0 !important; overflow: hidden; animation: none; }
.cva-fr::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.fr-kayu { --tx: url(tex/f_oak_planks.png); }
.fr-tembaga { --tx: url(tex/f_copper_block.png); }
.fr-batu { --tx: url(tex/f_cobblestone.png); }
.fr-besi { --tx: url(tex/f_iron_block.png); }
.fr-lapis { --tx: url(tex/f_lapis_block.png); }
.fr-emas { --tx: url(tex/f_gold_block.png); filter: drop-shadow(0 0 3px #ffd84a) drop-shadow(0 0 7px #ffd84a66); }
.fr-emas .cva-fr::after { background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.75) 50%, transparent 62%); animation: fr-shine 3.2s ease-in-out infinite; }
.fr-kuarsa { --tx: url(tex/f_quartz_block_side.png); }
.fr-kuarsa .cva-fr::after { background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.75) 50%, transparent 62%); animation: fr-shine 3.2s ease-in-out infinite; }
.fr-zamrud { --tx: url(tex/f_emerald_block.png); filter: drop-shadow(0 0 3px #2fe07a) drop-shadow(0 0 7px #2fe07a66); }
.fr-zamrud .cva-fr::after { background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.75) 50%, transparent 62%); animation: fr-shine 3.2s ease-in-out infinite; }
.fr-es { --tx: url(tex/f_packed_ice.png); filter: drop-shadow(0 0 3px #9fd4ff) drop-shadow(0 0 7px #9fd4ff66); }
.fr-es .cva-fr::after { background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.75) 50%, transparent 62%); animation: fr-shine 3.2s ease-in-out infinite; }
.fr-berlian { --tx: url(tex/f_diamond_block.png); filter: drop-shadow(0 0 3px #5ff3ea) drop-shadow(0 0 7px #5ff3ea66); }
.fr-berlian .cva-fr::after { background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.9) 50%, transparent 62%); animation: fr-shine 1.8s ease-in-out infinite; }
.fr-api { --tx: url(tex/f_magma.png); filter: drop-shadow(0 0 3px #ff6a00) drop-shadow(0 0 7px #ff6a0066); }
.fr-api .cva-fr { animation: fr-flow 2.4s steps(8) infinite !important; }
.fr-petir { --tx: url(tex/f_redstone_block.png); filter: drop-shadow(0 0 3px #ff2a1a) drop-shadow(0 0 7px #ff2a1a66); }
.fr-petir .cva-fr { animation: fr-pulse 1.8s ease-in-out infinite !important; }
.fr-obsidian { --tx: url(tex/f_obsidian.png); filter: drop-shadow(0 0 3px #6a3bd0) drop-shadow(0 0 7px #6a3bd066); }
.fr-netherite { --tx: url(tex/f_netherite_block.png); filter: drop-shadow(0 0 3px #3a2f3a) drop-shadow(0 0 7px #3a2f3a66); }
.fr-netherite .cva-fr::after { background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.75) 50%, transparent 62%); animation: fr-shine 3.2s ease-in-out infinite; }
.fr-prismarine { --tx: url(tex/f_prismarine.png); filter: drop-shadow(0 0 3px #46d6c2) drop-shadow(0 0 7px #46d6c266); }
.fr-prismarine .cva-fr { animation: fr-flow 2.4s steps(8) infinite !important; }
.fr-end { --tx: url(tex/f_purpur_block.png); filter: drop-shadow(0 0 3px #c07dff) drop-shadow(0 0 7px #c07dff66); }
.fr-end .cva-fr { animation: fr-pulse 1.8s ease-in-out infinite !important; }
.fr-sculk { --tx: url(tex/f_sculk.png); filter: drop-shadow(0 0 3px #18d8e8) drop-shadow(0 0 7px #18d8e866); }
.fr-sculk .cva-fr { animation: fr-pulse 1.8s ease-in-out infinite !important; }
.fr-legenda { --tx: url(tex/f_crying_obsidian.png); filter: drop-shadow(0 0 3px #b84dff) drop-shadow(0 0 7px #b84dff66); }
.fr-legenda .cva-fr::after { background: linear-gradient(115deg, transparent 30%, rgba(190,120,255,.55) 45%, rgba(255,255,255,.35) 50%, rgba(190,120,255,.55) 55%, transparent 70%); animation: fr-shine 2.2s linear infinite; }
.fr-p_naga { --tx: url(tex/f_crying_obsidian.png); filter: drop-shadow(0 0 3px #a020f0) drop-shadow(0 0 7px #a020f066); }
.fr-p_naga .cva-fr::after { background: linear-gradient(115deg, transparent 30%, rgba(190,120,255,.55) 45%, rgba(255,255,255,.35) 50%, rgba(190,120,255,.55) 55%, transparent 70%); animation: fr-shine 2.2s linear infinite; }
.fr-p_apibiru { --tx: url(tex/f_soul_sand.png); filter: drop-shadow(0 0 3px #2fe8ff) drop-shadow(0 0 7px #2fe8ff66); }
.fr-p_apibiru .cva-fr { animation: fr-pulse 1.8s ease-in-out infinite !important; }
.fr-p_kristal { --tx: url(tex/f_amethyst_block.png); filter: drop-shadow(0 0 3px #c79bff) drop-shadow(0 0 7px #c79bff66); }
.fr-p_kristal .cva-fr::after { background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.9) 50%, transparent 62%); animation: fr-shine 1.8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .cva-fx, .cva-fr, .cva-fr::after { animation: none !important; } }
