/* Aliens haciendo ejercicio (public/aliens.js), compartido por la app y la web */
.alien { display: block; width: 100%; height: 100%; }
.alien-stage { background: radial-gradient(120% 90% at 50% 0%, #1d2760, #0e1330); overflow: hidden; }
.al-limb { fill: none; stroke: #a5b4fc; stroke-width: 7.5; stroke-linecap: round; stroke-linejoin: round; }
.al-back { stroke: #6f7be0; }
.al-outline { stroke: #161d45; stroke-width: 12; }
.al-torso { fill: none; stroke: #a5b4fc; stroke-width: 17; stroke-linecap: round; }
.al-skin { fill: #a5b4fc; }
.al-antenna { fill: none; stroke: #a5b4fc; stroke-width: 3; stroke-linecap: round; }
.al-tip { fill: #c084fc; }
.al-eye { fill: #0b0f1a; }
.al-shine { fill: #fff; }
.al-cheek { fill: #c084fc; opacity: 0.35; }
.al-effort path { fill: none; stroke: #c084fc; stroke-width: 2; stroke-linecap: round; }
.al-plate { fill: url(#al-grad); }
.al-ring { fill: none; stroke: rgb(255 255 255 / 0.35); stroke-width: 2; }
.al-hub { fill: #e0e7ff; }
.al-bar { fill: none; stroke: #c7d2fe; stroke-width: 3.5; stroke-linecap: round; }
.al-frame { fill: none; stroke: #3b4785; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.al-thin { stroke: #2c3670; stroke-width: 2; }
.al-pad { fill: #4a3fa8; }
.al-pad-line { fill: none; stroke: #4a3fa8; stroke-width: 9; stroke-linecap: round; }
.al-pulley { fill: #161d45; stroke: #7c8cff; stroke-width: 2.5; }
.al-cable { fill: none; stroke: #c7d2fe; stroke-opacity: 0.7; stroke-width: 1.5; }
.al-stack { fill: #2c3670; }
.al-lift { fill: url(#al-grad); }
.al-stack-lines { stroke: #161d45; stroke-width: 1.5; }
.al-shadow { fill: rgb(0 0 0 / 0.35); }
.alien:not(.still) .al-blink { transform-box: fill-box; transform-origin: center; animation: al-blink 4.2s infinite; }
.alien:not(.still) .al-antennae { transform-box: fill-box; transform-origin: 50% 100%; animation: al-wobble 1.3s ease-in-out infinite alternate; }
.alien:not(.still) .al-ant-left { transform-origin: 100% 100%; }
.alien:not(.still) .al-breathe { animation: al-breathe 2.2s ease-in-out infinite; }
@keyframes al-blink { 0%, 90%, 100% { transform: scaleY(1); } 93% { transform: scaleY(0.1); } 96% { transform: scaleY(1); } }
@keyframes al-wobble { from { transform: rotate(-7deg); } to { transform: rotate(7deg); } }
@keyframes al-breathe { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(-1.5px); } }
@media (prefers-reduced-motion: reduce) { .al-blink, .al-antennae, .al-breathe { animation: none !important; } }
.al-thin-lever { stroke-width: 3; }
.al-ring-handle { fill: none; stroke: url(#al-grad); stroke-width: 3; }
.al-rope { fill: none; stroke: #c7d2fe; stroke-width: 2.5; stroke-linecap: round; }
.al-box { fill: #2c3670; stroke: #3b4785; stroke-width: 2; }

.al-lever { fill: none; stroke: #3b4785; stroke-width: 4.5; stroke-linecap: round; }
