/* Geleceğin Meslekleri — SVG sahne animasyonları (karakterler.js ile birlikte kullanılır) */
.mk-bob { animation: mk-bob 3.6s ease-in-out infinite; }
@keyframes mk-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }

.mk-eyes { transform-box: fill-box; transform-origin: 50% 50%; animation: mk-blink 5.5s infinite; }
@keyframes mk-blink { 0%, 93%, 100% { transform: scaleY(1); } 96% { transform: scaleY(.1); } }

.mk-drift { animation: mk-drift 50s ease-in-out infinite alternate; }
@keyframes mk-drift { from { transform: translateX(-40px); } to { transform: translateX(40px); } }

.mk-rotor { transform-box: fill-box; transform-origin: 50% 50%; animation: mk-rotor .14s linear infinite; }
@keyframes mk-rotor { 50% { transform: scaleX(.3); } }

.mk-led { animation: mk-led 1s steps(1) infinite; }
@keyframes mk-led { 50% { opacity: .15; } }

.mk-hover { animation: mk-hover 1.6s ease-in-out infinite; }
@keyframes mk-hover { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

.mk-flow { animation: mk-flow 1.2s linear infinite; }
@keyframes mk-flow { to { stroke-dashoffset: -44; } }
.mk-flow-slow { animation: mk-flow-slow 3s linear infinite; }
@keyframes mk-flow-slow { to { stroke-dashoffset: -64; } }

.mk-ping { transform-box: fill-box; transform-origin: 50% 50%; animation: mk-ping 1.8s ease-out infinite; }
@keyframes mk-ping { from { transform: scale(1); opacity: .9; } to { transform: scale(3.2); opacity: 0; } }

.mk-pulse-soft { animation: mk-pulse-soft 1.6s ease-in-out infinite; }
@keyframes mk-pulse-soft { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }

.mk-pulse { transform-box: fill-box; transform-origin: 50% 50%; animation: mk-pulse 1.4s ease-in-out infinite; }
@keyframes mk-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }

.mk-spin-slow { transform-box: fill-box; transform-origin: 50% 50%; animation: mk-spin 40s linear infinite; }
@keyframes mk-spin { to { transform: rotate(360deg); } }

.mk-kite { transform-box: fill-box; transform-origin: 50% 50%; animation: mk-kite 3.2s ease-in-out infinite; }
@keyframes mk-kite { 0%, 100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-8px); } }

.mk-zz { animation: mk-zz 3s ease-in-out infinite; }
@keyframes mk-zz { 0%, 100% { opacity: .2; transform: translateY(4px); } 50% { opacity: 1; transform: translateY(-4px); } }

.mk-twinkle { transform-box: fill-box; transform-origin: 50% 50%; animation: mk-twinkle 2.6s ease-in-out infinite; }
@keyframes mk-twinkle { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }

.mk-fly { animation: mk-fly 9s ease-in-out infinite alternate; }
@keyframes mk-fly { from { transform: translateX(-30px); } to { transform: translateX(30px); } }

.mk-leaf { animation: mk-leaf 2.4s linear infinite; }
@keyframes mk-leaf { from { transform: translate(-60px, -20px) rotate(0deg); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { transform: translate(260px, 40px) rotate(320deg); opacity: 0; } }

/* Dokunulabilir öğeler */
.hot { cursor: pointer; outline: none; }
.hot:focus-visible { filter: drop-shadow(0 0 6px #17a2a0) drop-shadow(0 0 2px #fff); }
.hot.mk-jump > g { animation: mk-jump .55s ease-out; }
@keyframes mk-jump { 0% { transform: translateY(0); } 35% { transform: translateY(-16px); } 65% { transform: translateY(2px); } 100% { transform: translateY(0); } }
.cat.found { filter: drop-shadow(0 0 8px #ffd54a); }

/* Hareket kapalı / baskı */
.no-motion *, .no-motion *::before, .no-motion *::after { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .auto-motion * { animation: none !important; }
}
